4

YII でアプリケーションを開始しました。YII の適切な標準を使用したいのですが、その CHTML クラスの使用について少し興味があります。CHtml::link()またはCHtml::image()通常の HTML コードの代わりに使用すると、サーバー側でのアプリケーションに時間がかかる<a></a>と思います。<img src... />私はそれを使用する何らかの理由を探してみましたが、なぜそれを使用する必要があるのか​​ 、従来の HTML よりもどのように有益なのかについての良いリソースを見つけることができませんでした. 通常のHTMLコードでアクションへのパスを定義するためにこれらすべてのメソッドを使用できるように、なぜそれを使用するのですか

明確化のためのヘルプまたはリファレンスをいただければ幸いです

ありがとう

4

1 に答える 1

5

CHtml::link() について話しましょう。その主な利点は、配列をパラメーターとして渡すだけで、コントローラーのルートを示し、いくつかの get 変数を送信できることです。LivingController の eat() アクションに行きたいとしましょう。変数は 'meal' で、その値は 'hamburgers' です。次のように簡単に実行できます。

> CHtml::link(array('LivingController/eat', 'meal'=>'hamburgers'));

これを だけで表現したい場合は<a></a>、それがどれほど難しいかを説明する必要はありません。さらに、URL 形式を変更しても、CHtml::link() を使用して生成されたリンクは常に機能することを覚えておく必要があります。<a></a>URL 形式を変更するたびに、URL を書き直す必要があります。

CHtml::image() の利点は、少なくとも私にはあまり明確ではありません。誠に申し訳ありませんが、カプセル化の問題だと思います。

于 2012-04-26T18:39:58.717 に答える