なんとなくモダンっぽいPHP環境をつくって yii framework を導入するところまで

  • この記事の内容は2013年8月頃にメモしたものです
  • なんか未完成っぽいけどめんどいのでそのまま公開

環境

開発環境として利用していて、 既に古いPHPや諸々のライブラリは導入されている状態

PHPのインストール

phpenv

git clone https://github.com/CHH/phpenv.git
cd phpenv/bin
sh phpenv-install.sh

.zshrc に以下を追記

export PATH=$HOME/.phpenv/bin:$PATH
eval "$(phpenv init -)"

設定を反映

source ~/.zshrc

phpenv コマンドが有効になる。

実行したら rbenv って表示されるけど気にしない、ことにする…

php-build

mkdir ~/.phpenv/plugins
cd ~/.phpenv/plugins
git clone https://github.com/CHH/php-build.git

phpenv でinstallコマンドが使えるか確認

phpenv install

成功していればPHPのバージョンがガーーッと出てくる

PHP 5.5

phpenv install 5.5.3

事前に依存パッケージを入れておく。 自分の環境には以下がなかった。

sudo yum install re2c libcurl-devel libmcrypt-devel libtity-devel

バージョンを確認

phpenv versions

globalのphpを切り替え

phpenv global 5.5.3

なんかうまく切り替わらない場合は phpenv rehash したり source ~/.zshrc すれば戻る

あとでdate()云々で怒られるのでphp.iniを編集

vim ~/.phpenv/versions/5.5.3/etc/php.ini

timezoneを設定しておいい

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Tokyo

Composerでyiiのインストール

アプリケーションを構築したいディレクトリに移動して

curl -s http://getcomposer.org/installer | php

カレントディレクトリに composer.phar ができる

試しに composer.json を作成する

{
    "require": {
        "yiisoft/yii": "1.1.*"
    }
}

次のコマンドを実行してインストール

php composer.phar install

カレントディレクトリに vendor というディレクトリが作成されて 中に諸々がインストールされている

必要要件を満しているか確認 ビルトインWebサーバを立ち上げて確認してみる

php -S localhost:8080

http://localhost:8080/vendor/yiisoft/yii/requirements/

「Yii Requirement Checker」が表示されて、 各項目の条件が一覧できるのでとりあえず確認

yiiについてもろもろ

  • Core framework code style · yiisoft/yii Wiki
    • コーディング規約
    • インデントはタブ必須らしい
    • なんとなくPython使いからするとテンションさがる
  • Ardem/yii-coding-standard
    • CodeSnifferも用意されているので Git commit hook とかに適用させれば幸せになるかもしれない
  • yii-webserver つかえる
  • yii-standard-coding 便利
    • ただジェネレートしたコードがERRORになるし
    • giiの中のコードもエラーになる
  • Gitで扱うときのyiiの雛形作成にはvcsオプションが便利
    • こんな感じ: yii webapp foo git
    • 適切な位置にgitignoreとかを配置してくれる

参考

ありがたやありがたや