2014年11月15日土曜日

ruby使いが手を動かして学ぶphp

久しぶりにphpを使わなければいけなくなりました。といっても少しですけど。
普段はjava, objective-c, swift, ruby使いなのですが、phpでCI環境を整えることになったので色々と学習&メモ。

ちなみにぼくが最後にphpで開発したのはverson4の最後の時です。php好きじゃないんだけど、まあ、仕方ないっすねー(棒)。rubyは素晴らしい言語だけど、使える人が本当に少ないのが弱点。結局両方用意しないといけなくなってしまう。(愚痴なので気にしないでくださいw)

せっかくなのでrubyの視点からみたphpの感想もちょこちょこ記載していきたいと思います(怒らないでねw)

環境

  • mac Yosemite
  • vagrant1.6.5

開発はvagrantのcentos6.5で行います。macに入っているphpはext-mcryptとかいうライブラリがなくてシンボリックリンクはったり面倒なんで。

php5.5のinstall

まずはchefを使わないで普通にinstallして基礎から学習します。php久しぶりなんで。
(chefを使った管理は多分あとで書きます。どうせやる必要あるんで)


 // yumを最新にupdate
 sudo yum -y update

 // epelのリポジトリを追加
 sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

 // remiのリポジトリを追加
 sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

 // php install
 sudo yum install --enablerepo=remi --enablerepo=remi-php55 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug

 php -v
 PHP 5.5.19 (cli) (built: Nov 13 2014 07:52:05) 

install完了。次。

Composerをinstall

Composer

パッケージ管理ツールです。rubyでいうbundler、javaでいうgradle, movenのようなものです。

install

まずはchefを使わないで普通にinstall。勉強勉強。


curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /Users/{username}/Documents/study/php/test/composer.phar
Use it: php composer.phar

OK、次。php composer.phar install


php composer.phar install
Composer could not find a composer.json file in /Users/{username}/Documents/study/php/test
To initialize a project, please create a composer.json file as described in the http://getcomposer.org/ "Getting Started" section

composer.jsonというファイルが必要らしい。アプリのフレームワークにはrailsをインスパイアしたフレームワークcakephpを使います。

{
    "name": "example-app",
    "repositories": [
        {
            "type": "pear",
            "url": "http://pear.cakephp.org"
        }
    ],
    "require": {
        "cakephp/cakephp": ">=2.4.9"
    },
    "config": {
        "vendor-dir": "Vendor/"
    }
}

cakeのサイトの説明をそのまま使います。もう一度実行。


php composer.phar install
Loading composer repositories with package information
Initializing PEAR repository http://pear.cakephp.org
Installing dependencies (including require-dev)
  - Installing cakephp/cakephp (2.5.6)
    Downloading: 100%         

Writing lock file
Generating autoload files

Vendor以下に色々ある。まだよくわからないけど次。

プロジェクト作成

bakeコマンドでプロジェクトを作成。railsコマンドと同じかな。なんでcakeじゃないんだろうか。


Vendor/bin/cake bake project test

// something

warningでてるけどProject baked successfully!だからOKなのかな?無視して次。

testフォルダを発見。中に色々フォルダがある。うまくいったっぽい。でも、設定を変える必要があるらしい。

CAKE_CORE_INCLUDE_PATH を相対パスに変更


define(
    'CAKE_CORE_INCLUDE_PATH',
    ROOT . '/Vendor/cakephp/cakephp/lib'
);

準備完了。DBはmysqlを使います。

Mysql5.6をinstall


rpm -qa | grep mysql

mysql-libs-5.1.73-3.el6_5.x86_64
php-mysqlnd-5.5.19-1.el6.remi.x86_64

// delete mysql5.1
sudo yum remove mysql-libs-5.1.73-3.el6_5.x86_64

// add rpm
yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

// install mysql
yum install mysql mysql-devel mysql-server mysql-utilities

mysql --version
mysql  Ver 14.14 Distrib 5.6.21, for Linux (x86_64) using  EditLine wrapper

OK。長すぎるので分割して続きます。

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...