コードを記述することなく、私たちのブログアプリケーションは既にテーマ化可能です。テーマを使用するには、主にテーマを開発して、テーマ内にカスタマイズされたビューファイルを作成する必要があります。例えば、異なるページレイアウトを使用するclassic
というテーマを使用するには、レイアウトビューファイル/wwwroot/blog/themes/classic/views/layouts/main.php
を作成します。また、アプリケーションの設定を変更して、classic
テーマを選択する必要があります。
return array(
......
'theme'=>'classic',
......
);
ブログアプリケーションを国際化して、ページをさまざまな言語で表示することもできます。これは主に2つの側面における取り組みを伴います。
まず、さまざまな言語でビューファイルを作成できます。たとえば、PostController
のindex
ページでは、ビューファイル/wwwroot/blog/protected/views/post/zh_cn/index.php
を作成できます。アプリケーションが簡体字中国語(言語コードはzh_cn
)を使用するように構成されている場合、Yiiは自動的にこの新しいビューファイルを元のビューファイルの代わりに使用します。
次に、コードによって生成されたメッセージのメッセージ翻訳を作成できます。メッセージ翻訳は、ディレクトリ/wwwroot/blog/protected/messages
の下にあるファイルとして保存する必要があります。また、テキスト文字列を使用するコードを修正して、メソッド呼び出しYii::t()
で囲む必要があります。
国際化の詳細については、ガイドを参照してください。
Yiiフレームワーク自体は非常に効率的ですが、Yiiで記述されたアプリケーションが必ずしも効率的であるとは限りません。ブログアプリケーションには、パフォーマンスを向上できる場所がいくつかあります。たとえば、タグクラウドポートレットは、複雑なデータベースクエリとPHPロジックが関係するため、パフォーマンスのボトルネックの1つになる可能性があります。
Yiiによって提供される高度なキャッシング機能を使用して、パフォーマンスを向上させることができます。Yiiで最も便利なコンポーネントの1つはCOutputCacheであり、ページ表示の一部をキャッシュするため、その部分を生成する基盤となるコードをすべてのリクエストで実行する必要がなくなります。たとえば、レイアウトファイル/wwwroot/blog/protected/views/layouts/column2.php
では、COutputCacheでタグクラウドポートレットを囲むことができます。
if($this->beginCache('tagCloud', array('duration'=>3600))) { $this->widget('TagCloud', array( 'maxTags'=>Yii::app()->params['tagCloudCount'], )); $this->endCache(); }
上記のコードを使用すると、タグクラウドの表示は、オンデマンドで生成されるのではなく、キャッシュから提供されます。キャッシュされたコンテンツは、3600秒間キャッシュに有効なままになります。
私たちのブログアプリケーションは、非常に基本的な機能しか備えていません。完全なブログシステムにするには、カレンダーポートレット、メール通知、投稿の分類、アーカイブ投稿ポートレットなど、より多くの機能が必要です。これらの機能の実装は、興味のある読者にお任せします。
タイプミスを見つけたり、このページの改善が必要だと考えますか?
Githubで編集する !
サインアップまたはログインしてコメントしてください。