0 フォロワー

今後の拡張

1. テーマの使用

コードを記述することなく、私たちのブログアプリケーションは既にテーマ化可能です。テーマを使用するには、主にテーマを開発して、テーマ内にカスタマイズされたビューファイルを作成する必要があります。例えば、異なるページレイアウトを使用するclassicというテーマを使用するには、レイアウトビューファイル/wwwroot/blog/themes/classic/views/layouts/main.phpを作成します。また、アプリケーションの設定を変更して、classicテーマを選択する必要があります。

return array(
    ......
    'theme'=>'classic',
    ......
);

2. 国際化

ブログアプリケーションを国際化して、ページをさまざまな言語で表示することもできます。これは主に2つの側面における取り組みを伴います。

まず、さまざまな言語でビューファイルを作成できます。たとえば、PostControllerindexページでは、ビューファイル/wwwroot/blog/protected/views/post/zh_cn/index.phpを作成できます。アプリケーションが簡体字中国語(言語コードはzh_cn)を使用するように構成されている場合、Yiiは自動的にこの新しいビューファイルを元のビューファイルの代わりに使用します。

次に、コードによって生成されたメッセージのメッセージ翻訳を作成できます。メッセージ翻訳は、ディレクトリ/wwwroot/blog/protected/messagesの下にあるファイルとして保存する必要があります。また、テキスト文字列を使用するコードを修正して、メソッド呼び出しYii::t()で囲む必要があります。

国際化の詳細については、ガイドを参照してください。

3. キャッシュによるパフォーマンス向上

Yiiフレームワーク自体は非常に効率的ですが、Yiiで記述されたアプリケーションが必ずしも効率的であるとは限りません。ブログアプリケーションには、パフォーマンスを向上できる場所がいくつかあります。たとえば、タグクラウドポートレットは、複雑なデータベースクエリとPHPロジックが関係するため、パフォーマンスのボトルネックの1つになる可能性があります。

Yiiによって提供される高度なキャッシング機能を使用して、パフォーマンスを向上させることができます。Yiiで最も便利なコンポーネントの1つはCOutputCacheであり、ページ表示の一部をキャッシュするため、その部分を生成する基盤となるコードをすべてのリクエストで実行する必要がなくなります。たとえば、レイアウトファイル/wwwroot/blog/protected/views/layouts/column2.phpでは、COutputCacheでタグクラウドポートレットを囲むことができます。

<?php if($this->beginCache('tagCloud', array('duration'=>3600))) { ?>
 
    <?php $this->widget('TagCloud', array(
        'maxTags'=>Yii::app()->params['tagCloudCount'],
    )); ?>
 
<?php $this->endCache(); } ?>

上記のコードを使用すると、タグクラウドの表示は、オンデマンドで生成されるのではなく、キャッシュから提供されます。キャッシュされたコンテンツは、3600秒間キャッシュに有効なままになります。

4. 新機能の追加

私たちのブログアプリケーションは、非常に基本的な機能しか備えていません。完全なブログシステムにするには、カレンダーポートレット、メール通知、投稿の分類、アーカイブ投稿ポートレットなど、より多くの機能が必要です。これらの機能の実装は、興味のある読者にお任せします。

タイプミスを見つけたり、このページの改善が必要だと考えますか?
Githubで編集する !