簡単な答えは、仮想 Web ホストのルートにあるサイトを提供する ZF1 アプリで、次の空の文字列も取得することです。
Zend_Controller_Front::getInstance()->getBaseUrl()
@TimFountainが指摘しているように、それ自体では、http
またはhttps
プロトコルプレフィックスで完全な真のURLを返しません。そのため、URL ではなくファイル パスとして解釈できます。しかし、これはむしろ相対ファイル パス、つまりドキュメントルートからの相対パスです。
そして、もちろん、baseUrl
プロトコル プレフィックスを付けた実際の URL として設定すると、すべての解釈が無効になり、設定した内容が返されるだけです。
baseUrl()
また、に実装されているビュー ヘルパーについて次の 2 つの点に注意する必要がありZend_View_Helper_BaseUrl
ます。
上記のフロントコントローラーgetBaseUrl()
方式を使用します。
議論が必要です!
(2)については、私の経験では、多くの人がbaseUrl()
ビューヘルパーを次のように使用しています(たとえば、ビュースクリプトで):
<?php echo $this->baseUrl() . '/assets/css/styles.css'; ?>
しかし、次のように書くとより簡潔になります。
<?php echo $this->baseUrl('/assets/css/styles.css'); ?>
私にとって、それは単にいくつかの余分な文字の問題ではありません. アプリのコアは、自身の内部構造を知っている必要がありますが、展開の詳細は知りません。このようにbaseUrl()
ビュー ヘルパーを使用すると、デプロイメントに依存しない内部アセット参照をデプロイメント後の対応するアセットに解決するために必要なデプロイメント対応マッピングが存在することが暗黙的に認識されます。