第5回関西PHP勉強会 でハンズオンをやってもらったyiiを導入してみますよ。
PHPフレームワークといえばcakephpが有名やけど日本以外では色んな物が使われてるようで。
恥ずかしながらハンズオンでは自分のローカルの実行環境がさっぱりで迷惑かけたので復習がてら。
まずはローカルに実行環境を。
せっかくubuntuなのになんで準備してなかったんだか。
PHPはインストール済みやったけどまぁ順を追って。
[cc lang=’text’ line_numbers=’false’]
foo@XPS13:~$sudo apt-get install php5 apache2
[/cc]
で、さくっとインストール。
php 5.4 系なら組み込みWEBサーバーがあるのでapacheはいらんけど残念ながらubuntuのリポジトリにある最新版は5.3系なのでapacheも入れておく。
で、apt-get で入れたapache2はデフォルトで /var/www 以下がドキュメントルートになってるのでここで作業
[cc lang=’text’ line_numbers=’false’]
foo@XPS13:~$ cd /var/www/
[/cc]
まずはYii本体をとってくる
[cc lang=’text’ line_numbers=’false’]
foo@XPS13:/var/www$ sudo wget http://yii.googlecode.com/files/yii-1.1.12.b600af.tar.gz
[/cc]
んで解凍。
[cc lang=’text’ line_numbers=’false’]
foo@XPS13:/var/www$ sudo tar -zxvf ./yii-1.1.12.b600af.tar.gz
[/cc]
解凍したら framework 内にある yiic ってコマンドで各種アプリケーションの元が作成出来る。
引数無しでこいつを実行すると
[cc lang=’text’ line_numbers=’false’]
foo@XPS13:/var/www$ sudo ./yii-1.1.12.b600af/framework/yiic
Yii command runner (based on Yii v1.1.12)
Usage: ./yii-1.1.12.b600af/framework/yiic
The following commands are available:
– message
– migrate
– shell
– webapp
To see individual command help, use the following:
./yii-1.1.12.b600af/framework/yiic help
[/cc]
こんな感じでヘルプっぽいのが出てくるので言われたとおりに実行。
今回はWEBアプリの作成なので webapp で実行。
で、実際に作成するアプリケーションのフォルダを次の引数で設定。
[cc lang=’text’ line_numbers=’false’]
foo@XPS13:/var/www$ sudo ./yii-1.1.12.b600af/framework/yiic webapp yiiapp
Create a Web application under ‘/var/www/yiiapp’? (yes|no) [no]:
[/cc]
で、実行するとほんまに作るんけーと聞かれるのでもちろんyes
すると二番目の引数に指定したフォルダ以下にぶわーと必要なファイルが設置される。
さっき指定したフォルダ /var/www/yiiapp をドキュメントルートに設定しなおして
[cc lang=’text’ line_numbers=’false’]
foo@XPS13:/var/www$ sudo vi /etc/apache2/sites-available/default
[/cc]
上の方にあるここらへん。
[cc lang=’text’ line_numbers=’false’]
ServerAdmin webmaster@localhost
DocumentRoot /var/www/yiiapp
Options FollowSymLinks
AllowOverride None
[/cc]
設定反映のためApache再起動
[cc lang=’text’ line_numbers=’false’]
foo@XPS13:/var/www$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
… waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[/cc]
なんか怒られてる気がするけどとりあえず動けばいいや。
で、ローカルにアクセスすると…
出たー(゚∀゚)
こっから色々サイトのための設定するのでまずは設定ファイルの編集。
設定とかその他もろもろ重要なファイルは protected/ 以下に配置されてる。
メインの設定は main.php ってそのままなファイルに配列であるのでそこから編集。
[cc lang=’php’ line_numbers=’false’]
‘name’=>’My Web Application’,
[/cc]
サイト名。せっかくなので好きな名前に変更するとちゃんと反映されてるか分かりやすい。
で、Yiiの便利機能なgiiを有効にする
[cc lang=’php’ line_numbers=’false’]
‘modules’=>array(
// uncomment the following to enable the Gii tool
/*
‘gii’=>array(
‘class’=>’system.gii.GiiModule’,
‘password’=>’Enter Your Password Here’,
// If removed, Gii defaults to localhost only. Edit carefully to taste.
‘ipFilters’=>array(‘127.0.0.1′,’::1′),
),
*/
),
[/cc]
main.php の上の方に modules にあるgiiコメントアウトされてる設定のコメントをはずして
[cc lang=’php’ line_numbers=’false’]
‘modules’=>array(
// uncomment the following to enable the Gii tool
‘gii’=>array(
‘class’=>’system.gii.GiiModule’,
‘password’=>’ここにお好きなパスワード’,
// If removed, Gii defaults to localhost only. Edit carefully to taste.
‘ipFilters’=>array(‘127.0.0.1′,’::1′),
),
),
[/cc]
保存してから
http://localhost/index.php?r=gii
にアクセスするとログインフォームが。
さっき設定したパスワードでログインすると…
各種コントローラやらモデルやらがGUIで作成出来る画面が!!
なんて便利。
ここで作成するファイルは protected/ 以下の各ディレクトリに保存されるので書き出し先のフォルダ権限に注意ってことで。
この「Yii」ってGUIで色々出来たりかなりとっつきやすい気がしますな。
あとPHP向けIDEのPHPStormががっつりYiiに対応してるのもだいぶおすすめポイントだそうで。
楽しそうなんでぼちぼち使って機能の紹介なんかしていこうかと思いますよー。
Web Application Development With Yii and Php