J'étudie Zend Framework pour le moment et suis tombé sur la syntaxe suivante.Comment fonctionne la syntaxe de la méthode "public function direct() {}" en PHP?
class Zend_Controller_Action_Helper_Redirector extends Zend_Controller_Action_Helper_Abstract
{
/**
* Perform a redirect to an action/controller/module with params
*
* @param string $action
* @param string $controller
* @param string $module
* @param array $params
* @return void
*/
public function gotoSimple($action, $controller = null, $module = null, array $params = array())
{
$this->setGotoSimple($action, $controller, $module, $params);
if ($this->getExit()) {
$this->redirectAndExit();
}
}
/**
* direct(): Perform helper when called as
* $this->_helper->redirector($action, $controller, $module, $params)
*
* @param string $action
* @param string $controller
* @param string $module
* @param array $params
* @return void
*/
public function direct($action, $controller = null, $module = null, array $params = array())
{
$this->gotoSimple($action, $controller, $module, $params);
}
}
Dans Zend Framework la méthode directe() dans cette classe peut être appelé en utilisant la syntaxe suivante:
$this->_helper->redirector('index','index');
Où redirecteur est un objet dans l'objet _helper, qui est à l'intérieur du (!) objet contrôleur, dans lequel nous appelons la méthode. Le sucre syntaxique est ici que vous pouvez simplement passer des paramètres à l'objet au lieu de la méthode que nous écrivions comme ceci:
$this->_helper->redirector->gotoSimple('index','index');
..which est bien beau ofcourse.
Voici ma question: cette méthode est-elle directe() dans OO PHP? Ou cette fonctionnalité est-elle intégrée dans Zend Framework? Je ne trouve aucune documentation à ce sujet.
Merci!
En outre, vous pouvez lire sur les aides (et la méthode 'direct') ici: http://devzone.zend.com/article/3350 – Ernest
C'est un bon code là. Merci de l'avoir signalé! –
Après votre montage: vous parlez de la syntaxe la plus longue étant l'alternative la plus rapide, parlons-nous beaucoup plus vite ou est-ce assez négligeable? OK cela dépend bien sûr, mais est-ce comme la comparaison de l'analyse d'une chaîne entre guillemets doubles avec des variables ou concaténation de guillemets simples et de variables? –