yiiを使ってみる
業務で使っているCakePHPの鈍重さが辛くなってきた。ので軽そうなYii Frameworkを試してみる。以下ガイドをなぞっているだけなので読む価値はありません。
Yiiは高性能、コンポーネントベースのPHPフレームワークで、大規模なウェブアプリケーションの開発に向いています。 Yiiはウェブプログラミングの再利用性を最大にするため、開発プロセスを大幅に加速します。 このYii(イー; [ji:]と発音します)の名前は容易(easy)、効率(efficient)、拡張性(extensible)の3つの頭文字を並べたものから来ています。
Yiiとは何でしょうか
ダウンロード
ここらへんからダウンロードする。1.1.6は2011年1月16日にリリースされている。1.1系は奇数月にリリースされているので、今月中に1.1.7のリリースがあるかもしれない。
配置
解凍したモノをおもむろにドキュメントルートにおく、べきじゃあないのはわかってる。が前に進むことを優先する。
デモをみる
http://localhost/yii/demos/helloworld/index.php
http://localhost/yii/demos/hangman/index.php
http://localhost/yii/demos/blog/index.php
http://localhost/yii/demos/phonebook/index.php
初めてのYiiアプリケーションの作成
iiで最初の経験を積むために、この章では最初のYiiアプリケーションの作成法を説明します。強力な'yiic'ツールを使用します。 これは数種類のタスクのためのコード生成を自動で行います。 便宜上、YiiRootはYiiをインストールしたディレクトリと仮定し、WebRootはウェブサーバのドキュメントルートします。
初めてのYiiアプリケーションの作成
↑説明にしたがってアプリケーションを生成してみる。
cd C:\xampp\htdocs .\yii\framework\yiic webapp C:\xampp\htdocs\yiiprac1
生成したアプリケーションを確認
データベース、テーブル生成
次はyiic shell からモデルを生成し、CRUDページを生成するのだが、その前にDBとテーブルを作成する。DBはMySQLをつかう。
CREATE DATABASE `yiiprac1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE User ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, username VARCHAR(128) NOT NULL, password VARCHAR(128) NOT NULL, email VARCHAR(128) NOT NULL );
データベースへの接続
yiic shellを起動する前に、データベース接続文字列を書いておく。
C:\xampp\htdocs\yiiprac1\protected\config\main.php
'db'=>array( 'connectionString'=>'mysql:host=localhost;dbname=yiiprac1', 'username'=>'root', 'password'=>'', 'charset' => 'utf8', ),
CRUD操作の実装
yiic shellを起動して、userモデルを生成し、user crud ページを生成する。
>cd C:\xampp\htdocs\yiiprac1 >.\protected\yiic shell Yii Interactive Tool v1.1 (based on Yii v1.1.6) Please type 'help' for help. Type 'exit' to quit. >> model User The following model classes are successfully generated: User If you have a 'db' database connection, you can test these models now with: $model=User::model()->find(); print_r($model); >> crud User generate UserController.php generate UserTest.php mkdir C:/xampp/htdocs/yiiprac1/protected/views/user generate create.php generate update.php generate index.php generate view.php generate admin.php generate _form.php generate _view.php generate _search.php Crud 'user' has been successfully created. You may access it via: http://hostname/path/to/index.php?r=user
一般ユーザーとしてuserページにアクセスしてみる。
demo/demoでログインし、Userページにアクセスする。
http://localhost/yiiprac1/index.php?r=user
管理者としてuserページにアクセスしてみる。
admin/adminでログインし、Userページにアクセスする。
http://localhost/yiiprac1/index.php?r=user
10件以上登録するとページングするというのでそれも確認する。