Yii

Yiiの初めてのアプリケーションの作成方法

更新日:

Yiiには、新しいYiiアプリケーションを作成するのに、自動的にコードを自動生成する機能がついているみたいです。yiic(コマンドラインツール)を使用してみようと思ったのですが、WinRoad徒然草でお世話になっているファイアバードではtelnet/SSHがセキュリティの関係上、使用できないようになっているので、Xamppを利用して、ローカルサイトにYiiをインストールしてみることにしました。

Xamppのインストール方法は、『XAMPP for Windowsのインストール』のページを参考にして下さい。

1) それでは、『C:¥xampp¥htdocs』フォルダに『yii』フォルダを作成し、yii以下の全てのフォルダとファイルを保存します。

2) Windowsのスタートメニューから『プログラムとファイルの検索』窓に『cmd』と入力し、Enterを押します。

3) コマンドプロンプトが起動したら、『cd c:¥xampp¥php』と入力してEnterを押します。

4) 『c:¥xampp¥htdocs¥yii¥framework¥yiic webapp c:¥xampp¥htdocs¥yii¥testdrive』と入力してEnterを押します。

5) 『Create a Web application under 'C:¥xampp¥htdocs¥yii¥testdrive'? [Yes| No]』と表示されたら、yesを入力してEnterを押します。

6) ほんの数秒でアプリケーションが作成されました。

7) それでは、作成された『testdrive』のフォルダごと、dreamweaverでレンタルサーバーのファイアバードにアップロードします。

8) それではブラウザで確認してみます。下記のURLを入力します。

http://y.winroad.info/yii/testdrive

9)  『My Web Application』というサイトが完成しています。

10) コンタクトフォームやログインフォームも作成されています。

データベースへの接続

11) ここで、データベース接続の設定をしなければならないみたいですが、『yii/testdrive/protected/config』フォルダのmain.phpファイルを開き、50行目を見てみると、既にSQLiteデータベースの接続が設定されているみたいです。只、SQLiteデータベースは使ったことがないので、MySQLに変更したいと思います。

12) レンタルサーバーのファイアバードの管理画面から、『データベース設定』→『phpmyadmin』タブをクリックして、phpmyadminを起動したら、『yii』のテスト用に作成したデータベースを開き、SQLタブをクリックします。

13) 一端、Dreamweaverに戻り、『yii/testdrive/protected/data/schema.mysql.sql』を開き、中身を全てコピーします。

14) 再度、phpmyadminのページに戻ったら、ペーストして、『実行する』ボタンをクリックします。

15) SQLは正常に変更されました。と表示されたらOKです。『tbl_user』という名前のテーブルが作成されています。中身をのぞいてみると、『id,username,password,email』というフィールドが作成されています。

16) 次に、データベースの設定を変えたいので、52行目と60行目をコメントアウトを削除して、データベース名、ユーザー名、パスワードを設定します。

'db'=>array(
'connectionString' => 'mysql:dbname=builwing_yii',
'emulatePrepare'=>true,
'username'=>'ユーザー名',
'password'=>'パスワード',
'charset'=>'utf-8',
),

CRUD操作の実装

17) さて、ここで、Yiiに実装されているGiiという名前のコードジェネレーターを使用してみたいと思います。『testdrive/protected/config/mai.php』ファイルを開き、23行目と30行目のコメント文字を削除して、パスワードを入力します。。

18) ブラウザでアクセスしてみます。

http://y.winroad.info/yii/testdrive/index.php?r=gii

『Error 403』が表示されました。やはりレンタルサーバー上では、コードジェネレーターは動かないみたいです。

19)  ここまできて何ですが、ローカルのYiiに戻ります。12)以降の行程をローカルで設定し直します。ローカルでの設定が終わったらブラウザに下記のアドレスを入力します。

http://localhost/yii/testdrive/index.php?r=gii

20) ブラウザから上記URLにアクセスすると、パスワードを求める画面が表示されました。先程のパスワードを入力して『Enter』をクリックします。

21) 『Welcom to Yii Code Generator!』と表示されました。マニュアルに沿って、『Model Generator』のリンクをクリックします。

22) Table Nameの項目に、『tbl_use』と入力します。するとModelクラスには、TblUserと名前が自動生成されました。 マニュアルには『Userと入力』となっていましたが、名前が自動生成されたので問題はないだろうと思い、そのまま『Preview』ボタンをクリックします。すると、『Generate』ボタンとCode Fileが表示されました。『models\TblUser.php』のリンクをクリックしてみます。

23) すると見事に生成されたコードを見ることが出来ました。感動です。

24) Previewを閉じ、『Generate』ボタンをクリックします。Model Generatorの画面に戻ったので、一瞬エラーかと心配したのですが、下の方に『The code has been generated successfully.』と表示されていました。

25) Dreamweaverで、『testdrive/protected/models』フォルダを覗いていると『TblUser.php』ファイルが生成されていました。

 

CRUDコードの生成

26) マニュアルに沿って、CRUD操作を実装するコードの生成をしてみたいと思います。左メニューのCrud Generatorのリックをクリック、Model ClassのフィールドにTblUserと入力して、Previewボタンをクリック、Code Fileが表示されたら、Gernrateボタンをクリックします。

※始め、マニュアル通りにModel ClassのフィールドにUserと入力したら、エラーが表示されました。当たり前か、22)でマニュアルに逆らって、自動生成されたTblUserのままにして置いたのですから。

CRUDページにアクセス

27) CRUDコードの生成が成功すると、下の方に『try it now』のリンクが出来ますので、クリックしてみます。

28) Tbl Usersという表題と、tbl_userテーブルの一覧が表示されました。Create TblUserのリンクをクリックしてみます。

29) Login画面が表示されますので、usernameに『demo』、Passwordにも『demo』と入力します。

30) 新規ユーザーの入力フォームが表示されました。

31) ログアウトして、usernameを『admin』、パスワードも『admin』でログインしてみます。『あれ?管理ページへのリンクがない!』と一瞬思ったのですが、マニュアルにURLによって管理ページを見ることが出来ると書いてありました。

http://localhost/testdrive/index.php?r=tbluser/admin

ほかにも色々弄くってみたいのですが、時間が遅くなりましたので、今日はこれぐらいにします。いやあ今日はとにかく感動しました。早くYiiを習得したくなりました。もっと早く、Yiiに出会いたかったです。!!

-Yii
-

Copyright© WinRoad徒然草 , 2018 All Rights Reserved Powered by AFFINGER5.