Zend çerçevesini kullanarak mutlak URL'ler oluşturmak için en iyi uygulama var mı? Biraz yardımcı olabilir mi yoksa bu sadece $ _SERVER değişkeninden şema, host, vb. Ile birleştirme ve ardından Zend tarafından üretilen göreceli yolu ekleyin.Zend framework ile mutlak URL'ler oluşturmak için en iyi uygulama?
cevap
phpfour yoludur Tamam, ama https kontrol etmek zorunda: //, ftp: // ve mailto: Çok ... :)
Bütün URL'ler kök mutlak (/files/js/jquery.js
) sahip prefefer. "Hardcore zend yol" mvc
echo $this->serverUrl() . $this->baseUrl('cass/base.css');
olmadan veya mvc
echo $this->serverUrl() . $this->url(array('controller'=>'index','action'=>'index'),null,true);
$ _SERVER'i kullanmazdım, Zend_Controller_Request_Http::getServer($keyName);
değerlerini kullanırım (veya geçerli olduğunda istek nesnesindeki doğrudan alıcılar - hangisinin nesnenin doğrudan üyeleri olduğunu ve hangilerinin getServer ile erişilmesi gerektiğini unutmayın) . Teknik olarak bunlar tam olarak aynı değerlerdir, ancak IMO, ham PHP erişimini kullanmaktan daha iyi bir şekilde Zend yoluna erişir. Ama evet, onları bir araya getirip, ihtiyacınız olanı almalıyım. Bu aslında bir SSL denetleyici eklentisi/url yardımcı için yaptım.
benim uygulamalarda
, benim uygulama yapılandırmasında "baseURL" tutmak ve bunu ön yükleme ile ilgili kayıt defterine atamak ... gerçi daha iyi bir yol yoktur olabilir. Daha sonra URL'yi oluşturmak için aşağıdaki Görünüm Yardımcısı kullanın:
<?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;
}
}
Fayda: Ben bir yerden görünümdeki tüm URL'ler üzerinde herhangi bir değişiklik yapabilir.
Bu yardımcı olur umarım.
'Zend_Registry' oldukça gereksizdir. Daha iyi bir yaklaşım, Zend_Controller_Front :: setBaseUrl() 've' Zend_Controller_Front :: getBaseUrl() 'işlevini kullanır. Bu şekilde, dahil olan görüntü yardımcısını da kendi başınıza döndürmek zorunda kalmadan kullanabilirsiniz. –
olduğunu.
<a href="<?php echo $this->url('application', ['action' => 'detail'], ['force_canonical' => true])?>">
aşağıdaki yöntemi kullanın ile
<?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 Framework
- 2. Zend Framework
- 3. Zend Framework ile nasıl bağlanır Zune Framework
- 4. Zend Framework
- 5. Zend Framework uygulama katmanında Master/Slave anahtarı
- 6. Zend Framework ile görünümleri değiştirmek için bir URL parametresi eklemenin en iyi yolu nedir?
- 7. Jquery + Zend Framework
- 8. cmake en iyi uygulama
- 9. Doctrine2: - En İyi Uygulama
- 10. Zend Framework 2 gerçek dünya uygulama dosyası yapısı
- 11. HTML düzenleri en iyi uygulama
- 12. En İyi Uygulama
- 13. Zend Framework TDG Doktrini
- 14. Güncelleme: Zend Framework'de statik içeriği yönetmek için en iyi yöntemler?
- 15. Zend framework: Eklenti yolları
- 16. Zend Framework Oauth Sağlayıcısı
- 17. Zend Framework HTTPS URL
- 18. Zend Framework IDE
- 19. JavaScript Sınıfı En İyi Uygulama?
- 20. Zend Framework - çoklu gezinti blokları
- 21. Zend Framework Düzeni
- 22. redis json en iyi uygulama
- 23. Zend Framework uygulaması
- 24. PayPal - Hesap ekstresi için en iyi uygulama
- 25. Yay Webflow En İyi Uygulama
- 26. Zend-Framework ile MySQL SSL bağlantısı
- 27. zend framework 2 AuthenticationService
- 28. Benim Zend uygulamada kırıntıları kullanıyorum zend framework
- 29. Zend Framework projesinde .zfproject.xml bir zorunluluktur mu?
- 30. Zend framework ve ReCaptcha
+ 1, standart yaklaşım% 99'unu kullanmak en iyisidir - Zend Framework zaten sizin için bunu içerir. URL tabanını manuel olarak değiştirmeniz gerekirse, bunu bootstrapte de ayarlayabilirsiniz. –
echo $ this-> serverUrl(). $ This-> baseURL ('cassbase.css'); (bu, zend serverurl view helper kullanılarak mutlaktır) –
$ this-> baseUrl, burada belirtildiği gibi web sunucusunun köküne göre bir URL döndürür: http://framework.zend.com/manual/en/zend.view.helpers .html # zend.view.helpers.initial.baseurl, TMHO bu yanıt yanlış. – AsTeR