2

baseUrl()一部の人々は、ビュー スクリプトでの正しい値へのアクセス、設定、または取得に関する問題を報告しています。しかし、少なくとも ZF アプリケーションが仮想プライベート ホスト (Amazon EC2) 上にあり、ディレクトリ構造と apache 書き換えルールを完全に制御している私のような状況では、なぜそれを使用する必要があるのか​​ 疑問に思っています。ルートも同様。

たとえば、ファイルシステムが にあり、アプリケーションの mod_rewrite がすべてのリクエストを に送信することを知ってfoo.jpgpublic/images/foo.jpgますpublic

<img src="/images/foo.jpg" />

それ以外の

<img src="<?php echo $this->baseUrl();?>/images/foo.jpg" />

を使用することで、実際にどのような将来に備えた堅牢性やその他の利点が得られるのbaseUrl()でしょうか? 今のところ全く使用しておらず、問題ありません。しかし、私はそれを使用するいくつかのコードを継承しており、それらを含むビュー スクリプトを編集するときは常に、それらの使用を取り除く傾向があります。後で後悔するのでしょうか?

4

2 に答える 2

4

このように使用すると、あまり役に立ちませんが、一方で、このように使用します

echo $this->baseUrl('/images/foo.jpg')

URLを出力する前にロジックを追加できるため、将来的に役立つ可能性があります。数年以内にあなたのウェブサイトが予想以上に成長し、すべての静的コンテンツをに移動するContent delivery network (CDN)必要があり、すべての画像/ css / jsインスタンスのURLを手動で(または検索して置換して)修正する必要があると想像してください。baseUrl()(または名前としてassetUrl())CDNのURLを追加するだけで、アプリケーションのあらゆる場所で修正されます。

編集

baseUrl()私はあなたが継承したコードでの使用法を見つけました:

サイトがドメインのルートにない場合は、すべてのリンクと参照に共通のURL部分を追加できます。

i.e. : www.mysite.com/zf-app/

設定ファイルに追加する必要があります

resources.frontController.baseUrl = "/zf-app/"

それが機能するためには、すべてのリンクの前にその部分が追加されます

于 2012-09-21T14:17:22.203 に答える