Zendフレームワークを使用して絶対URLを作成することはベストプラクティスですか?私はいくつかのヘルパーがいるかどうか、またはこれが$ _SERVER変数からスキーム、ホストなどを連結して、Zendによって生成された相対パスを追加するのではないかと思います。Zendフレームワークで絶対URLを作成するベストプラクティス?
答えて
phpfourの道はOKですが、HTTPSをチェックする必要があります://やftp://とのmailto:あまりにも... :)
私はすべてのURLがroot-絶対(/files/js/jquery.js
)を有するprefefer。 "筋金入りZendの方法は、" MVC
echo $this->serverUrl() . $this->baseUrl('cass/base.css');
またはMVC
echo $this->serverUrl() . $this->url(array('controller'=>'index','action'=>'index'),null,true);
私はZend_Controller_Request_Http::getServer($keyName);
の値を使用します(または、要求オブジェクトの直接ゲッターが該当します - オブジェクトの直接のメンバーであるものとgetServerでアクセスする必要があるものを忘れてしまいます) 。技術的にはこれらはまったく同じ値ですが、IMOは生のPHPアクセスを使用するよりも、Zendにアクセスするほうが効率的です。しかし、それらを一緒に召喚することは、あなたが必要とするものを手に入れるべきです。これは実際に私がSSLコントローラのプラグイン/ URLヘルパーのために行った方法です。
は、私のアプリケーションでは
は、私は自分のアプリケーションの設定で「baseUrlに」を維持し、私はそれがブートストラップのレジストリに割り当てる...しかし、より良い方法があるかもしれません。その後、私はURLを生成するには、次のビューヘルパーを使用します。
<?php
class Zend_View_Helper_UrlMap
{
public function UrlMap($original)
{
$newUrl = $original;
$baseUrl = Zend_Registry::get('baseUrl');
if (strpos($newUrl, "http://") === false) {
$newUrl = $baseUrl . $newUrl;
}
return $newUrl;
}
}
利点:私は1つの場所からのビュー内のすべてのURLに任意の変更を行うことができます。
これが役に立ちます。
'Zend_Registry'はかなり不要です。もっと良いアプローチは 'Zend_Controller_Front :: setBaseUrl()'と 'Zend_Controller_Front :: getBaseUrl()'です。そうすることで、独自のビューヘルパーを使用して、独自のビューヘルパーを使用することもできます。 –
です。
<a href="<?php echo $this->url('application', ['action' => 'detail'], ['force_canonical' => true])?>">
と、以下の方法を使用せずに
<?php
// document root for example.com is in /htdocs
// but application's index.php resides in /htdocs/myapp/public
echo $this->baseUrl('css/base.css');
//will return /myapp/public/css/base.css
echo $this->serverUrl() . $this->baseUrl('css/base.css');
//will return http://www.example.com/myapp/public/css/base.css
echo '//' . $this->getHelper('ServerUrl')->getHost() . $this->baseUrl('css/base.css');
//will return protocol relative URL //www.example.com/myapp/public/css/base.css
- 1. zendフレームワークでフレンドリーなURLを作成する
- 2. Yii httpsで絶対URLを作成するには?
- 3. 絶対パスを作成するネットワークパス - asp.net
- 4. 絶対URLをモードリライトでリダイレクトする
- 5. .htaccessで絶対パスにサブドメインを作成
- 6. CakePHP絶対イメージURL
- 7. jspの絶対URL
- 8. Django絶対URLを取得
- 9. zendフレームワークのURLセグメントにアクセスする
- 10. zendフレームワークでクッキーを操作する
- 11. zendフレームワークでプロフィール画像アップローダーを作成する
- 12. zendフレームワークでcaptchaを作成するには?
- 13. zendフレームワークでクエリ文字列を作成する方法は?
- 14. zendフレームワークでadminを作成するには?
- 15. PHPフレームワークのzendでgetbaseurlを作成するには?
- 16. マスターページのコンパイルと絶対URL
- 17. ASPバンドルの絶対URL
- 18. Railsパブリックディレクトリの絶対URL
- 19. Asp.Net URLの絶対パス
- 20. Rails mailer url_for絶対URL
- 21. 相対パスからの絶対URL
- 22. jQuery Mobile Betaの絶対/相対URLパス
- 23. ZendフレームワークURLはローカル環境では動作しません
- 24. zendフレームワークにメタタグ、リンク、スタイルを配置するベストプラクティス?
- 25. Node.jsで絶対リンクを作成するには?
- 26. ページに相対URLから絶対URLを再構築
- 27. 公開HTMLフィールドコントロール相対URLを絶対URLに変換
- 28. Asp .Net MVC絶対URLでのリダイレクトToAction
- 29. zendフレームワークのようにスタックトレースを作成するには?
- 30. Django - 絶対URLと相対URLの両方でURLFieldが発生する
+1、99%の標準的なアプローチを使用することをお勧めします.Zend Frameworkにはすでにこれが含まれています。 URLベースを手動で変更する必要がある場合は、自分でブートストラップに設定することもできます。 –
echo $ this-> serverUrl()。 $ this-> baseUrl( 'cassbase.css'); (これは絶対にzend serverurlビューヘルパーを使用しています) –
$ this-> baseUrlは、ここに記載されているようにWebサーバーのルートからの相対URLを返します。http://framework.zend.com/manual/en/zend.view.helpers .html#zend.view.helpers.initial.baseurl、TMHOこの回答は間違っています。 – AsTeR