インストール
Yii のインストールは次の 2 つのステップで構成されます:
yiiframework.com から Yii フレームワークをダウンロードします。
Yii アーカイブを Web アクセス可能なディレクトリに解凍します。
ヒント|ヒント: Web ディレクトリにインストールする必要はありません。すべての Yii アプリケーションにはエントリ スクリプトがあり、それのみを Web ユーザーに公開する必要があります。他の PHP スクリプト (Yii を含む) はハッカーによって悪用される可能性があるため、Web アクセスから保護する必要があります。
需要
Yii をインストールした後、サーバーが Yii を使用するための要件を満たしているかどうかを確認するには、ブラウザに次の URL を入力して要件検出スクリプトにアクセスします。
http://hostname/path/to/yii/requirements/index.php
Yii の最小要件は、Web サーバーが PHP 5.1.0 以降をサポートしていることです。 Yii は Windows および Linux システム上の Apache HTTP サーバーでテストされており、PHP 5 をサポートする他の Web サーバーやプラットフォームでも正常に動作するはずです。
最初の Yii アプリケーションを構築する
Yii を予備的に理解するために、このセクションでは最初の Yii アプリケーションを構築する方法について説明します。 yiic (コマンドラインツール) を使用して新しい Yii アプリケーションを作成します。 Gii (強力な Web ベースのコード ジェネレーター) は、特定のタスクの自動コード生成を完了します。 YiiRoot が Yii のインストール ディレクトリであり、WebRoot がサーバーのドキュメント ルート ディレクトリであると仮定します。次のようにコマンドラインから yiic を実行します:
リーリー
注|注: MacOS、Linux、または Unix システムで yiic を実行する場合、実行できるように yiic ファイルの権限を変更する必要がある場合があります。あるいは、次のようにツールを実行することもできます:
リーリー
コードを 1 行も書かずに、ブラウザで次の URL にアクセスして、最初の Yii アプリケーションを確認できます:
http://ホスト名/testdrive/index.php
ご覧のとおり、このアプリケーションにはホームページ、連絡先ページ、ログイン ページの 3 つのページが含まれています。ホーム ページにはアプリケーションとユーザーのログイン ステータスに関する情報が表示され、連絡先ページにはユーザーが問い合わせを記入して送信するための問い合わせフォームが表示されます。また、ログイン ページではユーザーが最初に認証を行ってから、承認されたコンテンツにアクセスできるようになります。 詳細については、以下のスクリーンショットをご覧ください:
以下のツリー図は、アプリケーションのディレクトリ構造を示しています。
リーリー
データベースに接続します
ほとんどの Web アプリケーションはデータベースによって駆動されており、私たちのテスト アプリケーションも例外ではありません。データベースを使用するには、まずアプリケーションにデータベースへの接続方法を指示する必要があります。以下に示すように、アプリケーション構成ファイル WebRoot/testdrive/protected/config/main.php を変更するだけです:リーリー
上記のコードは、必要に応じて SQLite データベース WebRoot/testdrive/protected/data/testdrive.db に接続するように Yii アプリケーションに指示します。この SQLite データベースは、作成したアプリケーション フレームワークにすでに含まれていることに注意してください。データベースには tbl_user という名前のテーブルが 1 つだけ含まれています:リーリー
MySQL データベースに変更する場合は、ファイル WebRoot/testdrive/protected/data/schema.mysql.sql をインポートしてデータベースを作成する必要があります。注|注: Yii のデータベース機能を使用するには、PHP の PDO 拡張機能と対応するドライバー拡張機能を有効にする必要があります。テスト アプリケーションでは、php_pdo 拡張機能と php_pdo_sqlite 拡張機能を有効にする必要があります。
CRUD操作を実装する
Gii を設定する
Gii を使用するには、まずファイル WebRoot/testdrive/protected/main.php を編集する必要があります。これは既知のアプリケーション構成ファイルです。リーリー
次に、URL http://hostname/testdrive/index.php?r=gii にアクセスします。ここでは、上記の設定で指定したパスワードを入力する必要があります。
ユーザーモデルを生成する
ログイン後、モデル ジェネレーターのリンクをクリックします。以下のモデル生成ページが表示されます
[テーブル名] 入力ボックスに「tbl_user」と入力します。 [モデル クラス] 入力ボックスに「ユーザー」と入力します。次に、「プレビュー」ボタンをクリックします。これにより、生成される新しいファイルが表示されます。次に、「生成」ボタンをクリックします。 User.php という名前のファイルが protected/models ディレクトリに生成されます。後で説明するように、User モデル クラスを使用すると、オブジェクト指向の方法でデータ テーブル tbl_user にアクセスできます。
CRUDコードを生成
モデルクラスを作成した後、CRUD操作を実行するコードを生成します。以下に示すように、Gii で Crud Generator を選択します。
「モデルクラス」入力ボックスに「ユーザー」と入力します。 [コントローラ ID] 入力ボックスに、user (小文字) を入力します。次に、「生成」ボタンの後に「プレビュー」ボタンをクリックします。 CRUDコードの生成が完了しました。
CRUDページにアクセス
次の URL にアクセスして結果を見てみましょう:http://ホスト名/testdrive/index.php?r=user
これにより、tbl_user テーブルのレコードのリストが表示されます。
さらにユーザーを追加するには、上記の手順を繰り返します。 1 ページに表示されるユーザー エントリが多すぎる場合、リスト ページは自動的にページ分割されることに注意してください。
admin/admin を使用して管理者としてログインすると、次の URL でユーザー管理ページを表示できます:
http://ホスト名/testdrive/index.php?r=user/admin
これにより、ユーザーのエントリを含む素敵なテーブルが表示されます。ヘッダー セルをクリックして対応する列を並べ替えると、リスト ページと同様に自動的にページ分割されます。
興味があるかもしれない記事: