ホームページ >バックエンド開発 >PHPチュートリアル >PHPマスター|数分でYiiを使用してCRUDアプリを作成します

PHPマスター|数分でYiiを使用してCRUDアプリを作成します

Lisa Kudrow
Lisa Kudrowオリジナル
2025-02-23 08:57:10553ブラウズ

yiiフレームワーク:迅速な効率的なCRUDアプリケーションを迅速に構築するためのガイド

YIIは、Web 2.0アプリケーションの速度、セキュリティ、および優れたサポートで知られている高性能PHPフレームワークです。これは、「構成に関する規則」の原則に従います。つまり、仕様に従う限り、他のフレームワークよりもはるかに少ないコードを作成できる(コードが少ないことはバグが少ない)ことを意味します。さらに、YIIは、足場、データアクセスオブジェクト、テーマ、アクセス制御、キャッシュなど、多くの便利な機能をすぐに提供します。この記事では、YIIを使用してCRUDシステムを作成することの基本を紹介します。

キーポイント

  • YIIは、Web 2.0アプリケーションに適した高性能フレームワークであり、足場、データアクセスオブジェクト、テーマ、アクセス制御、キャッシュなど、多くの便利な機能を提供します。これは、構成に対する規則の原則に従い、コードの量を減らし、それによりバグの可能性を減らします。
  • yiiのコマンドラインツールyiicは、適切なディレクトリ構造を備えたスケルトンアプリケーションを作成するために使用されます。 YIIはMVCおよびOOPの原理に従い、URL構造はhttp://localhost/yiitest/index.php?r=controllerID/actionIDです。コントローラーと呼び出される方法は、URLのIDに基づいて決定されます。
  • YIIのWebベースのツールは、CRUDシステムを迅速に開発するために、CRUD操作のモデル、コントローラー、およびフォームを生成するために使用されます。たとえば、ユーザーがブログ投稿でCRUD操作を実行できる簡単なシステムは、数分で開発できます。 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/

PHP Master | Build a CRUD App with Yii in Minutes

YIIの要件をすばやく確認する必要があります。そのため、ファイルをアクセス可能なディレクトリに配置しますが、YIIファイルをWebルートディレクトリの外側に保存することをお勧めします。チェックした後、好きなように別の場所に移動できます。

前進し続けてください

各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

crudアプリケーションを開発
<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を使用して、giihttp://localhost/yiitest/index.php?r=giiにアクセスします。ユーザーフレンドリーなURLを使用している場合、URLはhttp://localhost/yiitest/giiです。 [モデルビルダー]をクリックします。 giiテーブル名に「投稿」を入力し、モデルに「投稿」を使用します。次に、[生成]をクリックしてモデルを作成します。

PHP Master | Build a CRUD App with Yii in Minutes

check

、ファイルが見つかりますprotected/modelsPost.php

ステップ3

Crudジェネレーターをクリックします。モデル名を「投稿」として入力します。コントローラーIDは、「post」として自動的に入力されます。これは、新しいコントローラーが

名前で生成されることを意味します。 [生成]をクリックします。このプロセスは、CRUD操作のコントローラーといくつかのビューファイルを生成します。 PostController.php

PHP Master | Build a CRUD App with Yii in Minutes

今、あなたは真新しいCRUDアプリケーションを持っています! [今すぐ試す]リンクをクリックしてテストします。投稿を管理するには、ログイン

にログインする必要があります。新しい投稿を作成するには、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。