ホームページ >バックエンド開発 >PHPチュートリアル >PHPマスター|数分でYiiを使用してCRUDアプリを作成します
yiiフレームワーク:迅速な効率的なCRUDアプリケーションを迅速に構築するためのガイド
YIIは、Web 2.0アプリケーションの速度、セキュリティ、および優れたサポートで知られている高性能PHPフレームワークです。これは、「構成に関する規則」の原則に従います。つまり、仕様に従う限り、他のフレームワークよりもはるかに少ないコードを作成できる(コードが少ないことはバグが少ない)ことを意味します。さらに、YIIは、足場、データアクセスオブジェクト、テーマ、アクセス制御、キャッシュなど、多くの便利な機能をすぐに提供します。この記事では、YIIを使用してCRUDシステムを作成することの基本を紹介します。
キーポイント
yiic
は、適切なディレクトリ構造を備えたスケルトンアプリケーションを作成するために使用されます。 YIIはMVCおよびOOPの原理に従い、URL構造はhttp://localhost/yiitest/index.php?r=controllerID/actionID
です。コントローラーと呼び出される方法は、URLのIDに基づいて決定されます。 gii
初心者
Apache、PHP(5.1以降)、およびMySQLがシステムにインストールされているため、最初のステップはフレームワークファイルをダウンロードすることです。 Yiiの公式Webサイトにアクセスして、最新のStableバージョン(執筆時点で1.1.13)をダウンロードしてください。 zipファイルを解凍してフォルダーを取得します(バージョン識別子はダウンロードしたバージョンによって異なる場合があります)、yii-1.1.13.e9e4a0
に名前を変更し、Webアクセス可能なルートディレクトリに移動します。私のシステムでは、これはyii
なので、フレームワークファイルへのパスはC:\wamp\www
になります。この記事では、設定が異なる場合でもアクションを簡単にフォローできるように、C:\wamp\www\yii
と呼びます。次に、Yiiのどの機能がシステムによってサポートされるかを確認する必要があります。ブラウザの<yiiroot></yiiroot>
にアクセスして、フレームワークの要件の詳細を表示します。 MySQLデータベースを使用するため、MySQL PDO拡張機能を有効にする必要があります。 http://localhost/yii/requirements/
前進し続けてください
各Webアプリケーションにはディレクトリ構造があり、YIIアプリケーションはWeb Rootディレクトリ内で階層構造を維持する必要があります。適切なディレクトリ構造を使用してスケルトンアプリケーションを作成するには、Yiiのコマンドラインツールyiic
を使用できます。 Web Rootディレクトリに移動し、次のように入力してください。
<code class="language-bash"><yiiroot>/framework/yiic webapp yiitest</yiiroot></code>これにより、必要な最小ファイルを使用して
と呼ばれるスケルトンアプリケーションが作成されます。その中には、エントリスクリプトとして使用され、どのコントローラーがリクエストを処理するかを決定します。 YiiはMVCおよびOOPの原則に基づいているため、これらのトピックに精通している必要があります。 MVCに慣れていない場合は、SitePointシリーズの記事「MVCモードとPHP」をお読みください。これは素晴らしい紹介を提供します。 yii urlはyiitest
のように見えます。たとえば、ブログシステムでは、URLがindex.php
になる場合があります。 http://localhost/yiitest/index.php?r=controllerID/actionID
はコントローラーIDで、http://localhost/yiitest/index.php?r=post/create
は操作IDです。エントリスクリプトは、IDに基づいてどのコントローラーと呼び出す方法を決定します。 ID post
のコントローラーにはcreate
に名前が付けられている必要があります(IDはクラス名から接尾辞「コントローラー」を削除し、最初の文字を小文字に変換します)。操作IDは、コントローラー内のメソッドのIDです。コントローラーに関連付けられている複数のビューがある可能性があるため、post
フォルダーにビューファイルを保存します。上記のディレクトリのコントローラーの名前のPostController
という名前のビューファイルを作成してから、次のコードを作成して、このビューをユーザーに表示するだけです。
PostController
actionCreate()
必要に応じて、他のデータをビューに渡すこともできます。操作は次のとおりです
protected/views/*controllerID*
create.php
viewファイルでは、
<code class="language-php">public function actionCreate() { $this->render('create'); }</code>にアクセスすることもできます。これは、それをレンダリングするコントローラーインスタンスを指します。また、ユーザーフレンドリーなURLが必要な場合は、以下を
:
で除外することができます。<code class="language-php">$this->render('create', array('data' => $data_item));</code>
それから、URLは$data
のように見えます。 $this
protected/config/main.php
<code class="language-php">'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( '<w>/<d>'=>'<controller>/view', '<w>/<w>/<d>'=>'<controller>/<action>', '<w>/<w>'=>'<controller>/<action>', ) )</action></controller></w></w></action></controller></d></w></w></controller></d></w></code>
http://localhost/yiitest/controllerID/actionID
重要なYiiの慣習を学んだので、今度はCrudの使用を開始する時が来ました。このセクションでは、ユーザーがブログ投稿でCRUD操作(作成、取得、更新、削除)を実行できる簡単なシステムを開発します。
ステップ1
mySQLデータベース
を作成し、というテーブルを作成します。この記事の目的のために、テーブルにはID、タイトル、コンテンツの3つの列のみがあります。
アプリケーションの構成ファイル()を開き、次のことを解除します。
yiitest
posts
データベース名、すなわち
<code class="language-sql">CREATE TABLE posts ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, title VARCHAR(100), content TEXT )</code>を置き換えます。明らかに、YII接続に必要な資格情報も提供する必要があります。
ステップ2
yiiでは、各データベーステーブルには、対応する型CActiveRecord
のモデルクラスが必要です。利点は、データベーステーブルを直接処理する必要がないことです。代わりに、テーブルの異なる行に対応するモデルオブジェクトを使用できます。たとえば、Post
クラスはposts
テーブルのモデルです。このクラスのオブジェクトは、posts
テーブルからの行を表し、列値を表す属性があります。モデルをすばやく生成するには、YiiのWebベースのツールgii
を使用します。このツールは、CRUD操作のモデル、コントローラー、およびフォームを生成するために使用できます。プロジェクトでgii
を使用するには、アプリケーションの構成ファイルで以下を見つけて、それを外してパスワードを追加します。
<code class="language-bash"><yiiroot>/framework/yiic webapp yiitest</yiiroot></code>
次のURLを使用して、gii
:http://localhost/yiitest/index.php?r=gii
にアクセスします。ユーザーフレンドリーなURLを使用している場合、URLはhttp://localhost/yiitest/gii
です。 [モデルビルダー]をクリックします。 gii
テーブル名に「投稿」を入力し、モデルに「投稿」を使用します。次に、[生成]をクリックしてモデルを作成します。
、ファイルが見つかりますprotected/models
。 Post.php
ステップ3
Crudジェネレーターをクリックします。モデル名を「投稿」として入力します。コントローラーIDは、「post」として自動的に入力されます。これは、新しいコントローラーが名前で生成されることを意味します。 [生成]をクリックします。このプロセスは、CRUD操作のコントローラーといくつかのビューファイルを生成します。 PostController.php
にログインする必要があります。新しい投稿を作成するには、admin/admin
にアクセスする必要があり、特定の投稿を更新するには、ブラウザをhttp://localhost/yiitest/post/create
に指してください。繰り返しますが、すべての投稿をリストし、それらの一部またはすべてを削除できます。 http://localhost/yiitest/post/update/postID
結論
yiiは、Web 2.0プロジェクトの開発において非常に強力です。実際、ほんの数分で完全に機能的なCRUDシステムを作成するのがどれほど簡単かを見ました!明らかに、Yiiはゼロから始める必要がないため、多くの仕事を節約できます。 Yiiは、必要に応じて拡張できる基盤を提供します。
(後続のFAQパーツが長すぎるので、別のドキュメントに整理することをお勧めします。)
以上がPHPマスター|数分でYiiを使用してCRUDアプリを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。