ホームページ  >  記事  >  php教程  >  yii2 実践チュートリアル 初心者ガイド - シンプルなブログ管理システム、yii2 初心者ガイド

yii2 実践チュートリアル 初心者ガイド - シンプルなブログ管理システム、yii2 初心者ガイド

WBOY
WBOYオリジナル
2016-06-17 08:51:54886ブラウズ

Yii2 実践チュートリアル 初心者ガイド - シンプルなブログ管理システム、yii2 初心者ガイド

1. 概要

クイックスタートガイドでは、データベース移行、gii 操作、AR モデル、ルーティング、検証、ビューなどを含む Yii2 フレームワークの基本を説明します。 Yii2 を初めて使用する場合、または以前に PHP フレームワークを使用したことがない場合は、これが良い出発点になります。 Yii2 フレームワークの基本をすでに使用してマスターしている場合は、高度な Yii2 チュートリアルを楽しみにしてください (後で更新します)。

Yii2 機能の基本的な使い方を説明するために、簡単なブログ管理システムを構築していきます。

このチュートリアルの完全なコードは、後で github で公開されます。

2. インストール

Yii2 のフルバージョンのインストールチュートリアルについては以前に書きましたので、参照用にクリックしてください。ここでは手順のみを説明し、必要な説明は行いません。

composer <span>global</span> <span>require</span> "fxp/composer-asset-plugin:~1.1.1"<span>
composer create</span>-project yiisoft/yii2-app-advanced advanced 2.0.8<span>
cd advanced
php init<br /></span>
#之后构建本地环境,我们配置advanced.dev指向frontend/web目录

3. データベースを準備します

データベース駆動型アプリケーションを開発および保守する場合、コードが変更されるとデータベースの構造も変わります。たとえば、アプリケーションの開発中に新しいテーブルが追加されるため、追加する必要があります。アプリケーションを運用環境にデプロイした後は、クエリのパフォーマンスを向上させるためにインデックスを確立する必要があります。 データベースの構造が変更されるとソースコードの変更が必要になることが多いため、Yii はデータベースの変更を記録できるデータベース移行機能を提供し、データベースとソースコードの両方がバージョン管理されるようにします。

この例では、yii migrate コマンドを使用して、ブログに対応するデータ テーブルの移行を生成します。

yii migrate/create create_blog_table

このコマンドによって生成された移行ファイルは、advancedconsolemigrations ディレクトリにあります。yii merge コマンドによって主キー ID とテーブル名が移行ファイルに追加されたことに気づいたかもしれません。次に、ファイルを編集する必要があります。テーブル名を変更し、データ テーブル ブログに列を追加します:

<?<span>php

</span><span>use</span><span> yii\db\Migration;

</span><span>/*</span><span>*
 * Handles the creation for table `blog_table`.
 </span><span>*/</span>
<span>class</span> m160525_153315_create_blog_table <span>extends</span><span> Migration
{
    </span><span>/*</span><span>*
     * @inheritdoc
     </span><span>*/</span>
    <span>public</span> <span>function</span><span> up()
    {
        </span><span>$this</span>->createTable('blog',<span> [
            </span>'id' => <span>$this</span>->primaryKey(),
            'title' => <span>$this</span>-><span>string</span>(100)->notNull()->defaultValue(''),
            'content' => <span>$this</span>->text(),
            'create_time' => <span>$this</span>->datetime(),<span>
        ]);
    }

    </span><span>/*</span><span>*
     * @inheritdoc
     </span><span>*/</span>
    <span>public</span> <span>function</span><span> down()
    {
        </span><span>$this</span>->dropTable('blog'<span>);
    }
}</span>

移行を実行する前に、まずデータベースを構成し、commonconfigmain-local.php ファイルを開きます。次の構成を参照してください。

'components' =><span> [
    </span>'db' =><span> [
        </span>'class' => 'yii\db\Connection',
        <span>//</span><span> 修改host 和dbname 之前需要手动创建了dbname才可以</span>
        'dsn' => 'mysql:host=localhost;dbname=advanced',
        <span>//</span><span>登录数据库的账号</span>
        'username' => 'root',
        <span>//</span><span>登录数据库的密码</span>
        'password' => '',
        'charset' => 'utf8',<span>
    ]</span>,
    <span>//</span><span> other code</span>
],
データベースが構成されたら、次のコマンドを実行して移行を実行します

./yii migrate
この間、確認を求められますので、「はい」を押して Enter を押してください。このコマンドを実行してデータベースを開くと、移行ファイル (consolemigrations ディレクトリ) に定義されているすべてのデータ テーブルが作成されます。ブログテーブルが作成されており、移行で定義された列が含まれていることがわかります。

4. gii を使用して AR モデルと CRUD を生成します

gii は yii2 のモジュールであり、高度にカスタマイズ可能で拡張可能なコード生成ツールです。これを使用すると、開発効率が大幅に向上します。また、gii を使用して必要なテンプレートやプログラム コードをカスタマイズする方法についても説明します。私たちのように、インストール プロセス中に開発環境を選択した場合、gii はデフォルトでオンになります。つまり、追加の設定なしで使用できます。また、advancedfrontendconfigmain-local.php ファイルを開いて構成コードを表示することもできます。

<span>if</span> (!<span>YII_ENV_TEST) {
    </span><span>//</span><span> other code</span>
    <span>$config</span>['bootstrap'][] = 'gii'<span>;
    </span><span>$config</span>['modules']['gii'] =<span> [
        </span>'class' => 'yii\gii\Module',<span>
    ];
}</span>
次に、アドレス http://advanced.dev/index.php?r=gii を介して gii モジュールにアクセスし (最初に、frontend/web ディレクトリを指すように Advanced.dev を構成しました)、その機能を使用して、この操作に必要な一連のコードの生成にご協力ください。

4.1 AR モデルクラスの生成

モデルは MVC 設計パターンの一部です。モデルを使用すると、データへのアクセスが比較的簡単で便利になるだけでなく、複雑なビジネスやロジックを処理するのにも役立ちます。モデルの詳細については、関連するマニュアルまたはドキュメントを参照してください。ご質問がある場合は、以下にメッセージを残してください。

戻って、gii ページで [Model Generator start] をクリックして、次のように AR モデル クラスを生成します。

4.2 CRUD コードの生成

いわゆる CRUD は、作成、読み取り、更新、削除を意味する、作成、読み取り、更新、削除に他なりません。一般的な Web 開発の基本操作が含まれています。 gii を使用してモデルを生成したばかりの場合は、以下に示すように、左側のメニューの CRUD ジェネレーターをクリックして CRUD を生成することをお勧めします。

gii のその他の操作については、yii2 gii の詳細な操作手順を参照してください。

これまで、gii を使用して一連のモデルとカード操作を生成してきました。

良いヒント: 実際の開発では、バックグラウンド管理は gii を使用して開発を支援する必要があります。これにより、開発結果を迅速に向上させることができます。

上記の操作に従って、次の関連ディレクトリに 9 つのファイルが生成されます

common\models\Blog.<span>php
common\models\BlogSearch</span>.<span>php
frontend\controllers\BlogController</span>.<span>php
frontend\views\blog\_form</span>.<span>php
frontend\views\blog\_search</span>.<span>php
frontend\views\blog\create</span>.<span>php
frontend\views\blog\index</span>.<span>php
frontend\views\blog\update</span>.<span>php
frontend\views\blog\view</span>.php
その後、ルーティングを通じて http://advanced.dev/index.php?r=blog にアクセスし、ブログの特定のページ情報を確認できます。

5. ブログを追加します

5.1 追加前の準備

[現在、ほとんどの国内ウェブサイトが非常に頻繁に記事を収集しており、元の記事の出典を示していないものもあることを考慮すると、原著者は読者が問題を避けるために元の記事を確認し、回避するためにすべての記事を更新しないことを望んでいます。誤解を招く! ]

続きを読む

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