¿Existe una mejor práctica para crear URL absolutas usando Zend framework? Me pregunto si hay algún ayudante o si esto concatenaría el esquema, el host, etc. de la variable $ _SERVER y luego agregaría la ruta relativa generada por Zend.¿La mejor práctica para crear URL absolutas con Zend framework?
Respuesta
de phpfour está bien, pero hay que comprobar si hay https: //, ftp: // y mailto: demasiado ... :)
I prefefer tener todas las URL raíz absoluta (/files/js/jquery.js
). El "camino duro zend" es
<?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
No utilizaría $ _SERVER, usaría los valores de Zend_Controller_Request_Http::getServer($keyName);
(o los getters directos en el objeto de solicitud cuando corresponda - olvidé cuáles son miembros directos del objeto y cuáles deben accederse con getServer) . Técnicamente, estos son exactamente los mismos valores, pero es mejor acceder a la IMO de la manera Zend que utilizar el acceso PHP sin procesar. Pero sí, reunirlos juntos debería proporcionarte lo que necesitas. Esta es en realidad la forma en que lo hice para un plugin/url helper de controlador SSL.
Podría haber una mejor manera, aunque ...
En mis aplicaciones, guardo un "baseUrl" en mi config solicitud y asignar a ese registro en bootstrapping. Más tarde utilizo el siguiente Ayudante de Vista para generar la 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;
}
}
Beneficio: Puedo hacer cualquier cambio en todas las direcciones URL en la vista desde un solo lugar.
Espero que esto ayude. forma
'Zend_Registry' es bastante innecesario. Un enfoque mucho mejor usaría 'Zend_Controller_Front :: setBaseUrl()' y 'Zend_Controller_Front :: getBaseUrl()'. De esta forma, también puedes usar el asistente de visualización incluido para que no tengas que rodar el tuyo. –
Sin MVC
echo $this->serverUrl() . $this->baseUrl('cass/base.css');
o con MVC
echo $this->serverUrl() . $this->url(array('controller'=>'index','action'=>'index'),null,true);
Utilice el método siguiente.
<a href="<?php echo $this->url('application', ['action' => 'detail'], ['force_canonical' => true])?>">
- 1. La mejor práctica la creación de la barra lateral dinámica con Zend Framework
- 2. Crear cronjob con Zend Framework
- 3. Zend Framework 2 para Zend Framework Newbie
- 4. Django: Mejor práctica para URL conf, plantilla de plantilla url
- 5. Cómo atender páginas estáticas con Zend Framework
- 6. PhoneGap en iOS con rutas URL absolutas para activos?
- 7. ¿Cómo generar una contraseña aleatoria o URL temporal para restablecer la contraseña en Zend Framework?
- 8. ¿Cómo crear servicios web en Zend Framework?
- 9. Rendimiento: URL absolutas vs. relativas
- 10. La mejor forma de implementar varios idiomas en Zend Framework
- 11. ¿Cómo comenzar con zend framework?
- 12. Cómo integrar PayPal con Zend Framework
- 13. Formulario de Zend Framework con jquery
- 14. Complemento de Zend Framework para Eclipse PDT
- 15. Zend Framework: Apache descodifica la URL codificada en lugar de pasar la URL codificada.
- 16. Consulta RAW SQL con Zend Framework
- 17. Cuál es la mejor práctica para usar ExtJS con Django Framework
- 18. Crear servidor oAuth personalizado con Zend
- 19. RESTful Zend Framework API
- 20. Zend Framework Paquetes Compositor
- 21. Zend Framework Casillas Anidadas
- 22. Cómo generar direcciones URL absolutas con https en MVC3?
- 23. Zend Framework Url View Helper agrega "id" de manera predeterminada
- 24. Zend Framework ¿Vale la pena?
- 25. jQuery: mejor práctica para crear fragmentos complejos de HTML
- 26. Zend Framework: Obtenga la página de referencia?
- 27. Manejo de entrada con Zend Framework (Publicar, obtener, etc.)
- 28. ¿Vale la pena usar Doctrine 2 con Zend Framework?
- 29. Zend Framework Oauth Provider
- 30. ¿Cómo crear una API pública usando Zend Framework?
+1, lo mejor es utilizar un enfoque estándar el 99% del tiempo: Zend Framework ya incluye esto para usted. Si necesita cambiar la base de URL manualmente, también puede configurarla en el arranque. –
echo $ this-> serverUrl(). $ this-> baseUrl ('cassbase.css'); (esto es absoluto utilizando zend serverurl view helper) –
$ this-> baseUrl devuelve una URL relativa a la raíz del servidor web como se indica aquí: http://framework.zend.com/manual/en/zend.view.helpers .html # zend.view.helpers.initial.baseurl, TMHO esta respuesta es incorrecta. – AsTeR