暑いんだけど、そこはかとなく涼しさを感じるこの頃です。気温の割に涼しく感じます。
Yii2の使い方の続き。今回はCRUDコードを作ってみます。CRUDはCreate/Read/Update/Deleteの頭文字を取って、作成/読み出し/更新/削除を行う操作を指しています。
ここ(始めよう: Gii でコードを生成する | Yii 2.0 決定版ガイド | Yii PHP Framework)を見ながらやります。
Pretty URLに変更
と、その前に、前回忘れていた、Pretty URL(見た目の良いURL)への変更を行っておきます。Pretty URLを使うと、http://localhost/yii&r=site/loginという指定が、http://localhost/yii/site/loginとなります。こちらの方が、見た感じはわかりやすい。
backend/config/main.phpに以下を追加する。最近のadvancedテンプレートだと、コメントアウトだけすればいいようになっています。
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ],
backend/web/.htaccessを作成して、以下を記載する。
RewriteEngine on RewriteBase /yii RewriteRule ^index.php/ - [L,R=404] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php
これでOKです。
CRUDコードを作成する
Giiの起動
最初の設定時に、initの実行時に、開発環境(Development)を指定していれば、http::/localhost/yii/giiをアクセスするだけでGiiが使えるようになっています。
UserモジュールのCRUDコードを作成してみる
今回作成するのは、ログインに使用しているアカウント情報のCRUDコードです。これでアカウント情報の編集ができるようにしてみます。
Giiのページの「CRUD Generator」→「Start」をクリックして、以下の情報を入れます。
- Model Class: common\modules\User
- Search Model Class: backend\models\UserSearch
- Controller Class: backend\controllers\UserController
- View Path: @app/views/user
- Enable I18NとEnable Pjaxにチェック
「Generate」を実行すると、CRUDを実行する以下のコードが作成されます。
generated controllers\UserController.php generated models\UserSearch.php generated views\user\_form.php generated views\user\_search.php generated views\user\create.php generated views\user\index.php generated views\user\update.php generated views\user\view.php
作成されたCRUDのページを見てみる
http://localhost/yii/user/index にアクセスしてみます。
う~ん。やっぱり自動生成のコードだと表示が微妙です。ここから見られるページにするのは大変かな。ただ、単純なコードなので、勉強するには良いと思います。
実際に作るときにはGiiで生成されたコードを使うより、他のプロジェクトを参考にしたほうが良いでしょうね。