Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Tout le monde connait l'aide de vue url() de Zend. Connaissez-vous une aide similaire (ou un moyen similaire) d'action ou de vue pour faire la même chose, mais avec une URL entière (http(s):...) ?
Merci
Dernière modification par devlop78 (27-10-2011 19:01:40)
Hors ligne
Bonjour,
Tu peux créer ton aide de vue perso, qui prendrait le même principe que url.
Hors ligne
Je pense aussi, c'est dommage que ce ne soit pas déjà inclu
Hors ligne
Regarde sur ZF Snippets si tu ne trouves pas ton bonheur.
Tu veux faire un helper qui t'aide à créer une url entière lambda ou l'url entière de ton site ?
Hors ligne
Non de mon site. Je vais, je pense, hériter de l'helper de vue et/ou d'action, un peu comme ça :
public function url()
{
return $this->getRequest()->getSchema() . '/' . $this->getRequest()->getServerName() . call_user_func(array(parent,'url'), func_get_args());
}
Bon, forcément des erreurs, j'apprends vite à devenir fénéant avec un IDE, qui m'évite d'apprendre par coeur le nom des fonction ^^
C'est bien pour une url entière de mon site, que je dois fournir à un tiers (à un webservice et aux visiteurs qui créent des choses, et qui peuvent les partager grâce à l'url). Je vais regarder côté Snippets.
Hors ligne
Lol, déjà "View_Helper_FlashMessages", j'ai codé il y a quelques jours quasiment le même. Ca commence bien ^^
Moi c'est messager, et il prend en arguments : message, type, isHtml (sinon, par défaut, échappé, là ça permet l'injection html si voulu).
Je vais fouiller là-dedans
Hors ligne
Je le poste ici, si ça intéresse qqn (mais c'est vraiment pas grand chose, et il manque le port) :
class App_View_Helper_FullUrl extends Zend_View_Helper_Url { /** * @link Zend_View_Helper_Url::url() * @return string */ public function fullUrl () { $request = Zend_Controller_Front::getInstance()->getRequest(); return $request->getScheme() . '://' . $request->getHttpHost() . call_user_func_array('parent::url', func_get_args()); }
Hors ligne
Pourquoi ne pas utiliser tout simplement Zend_View_Helper_ServerUrl ?
[lang=php] $urlRelative = $this->url(array('controller' => 'monController', 'action' => 'monAction', 'module' => 'monModule'), 'default'); // => /monModule/monController/monAction $urlAbsolue = $this->baseUrl($urlRelative); //=> /baseUrl/monModule/monController/monAction (sachant que très peu de gens ont un baseUrl $fullUrl = $this->serverUrl($urlAbsolue); // => https://monsite:8080/baseUrl/monModule/monController/monAction
Hors ligne