2010-07-22 5 views
0

Je me demande par quelle méthode sont passés les params d'un assistant d'action zend view? get ou post. est est becos je ne peux pas semblent y accéder via $_GET & $_POST mais je peux avec $this->getRequest()->getParam("xxx")

alors je veux vérifier si la variable existe 1er avant de l'utiliser, donc je ne

$itemsPerPage = isset($this->getRequest()->getParam("itemsPerPage")) ? $this->getRequest()->getParam("itemsPerPage") : 5; 

qui échoue avec

Fatal error: Can't use method return value in write context in D:\Projects\Websites\php\ZendFramework\LearningZF\application\controllers\IndexController.php on line 21

Je me demande ce qui est erroné

Répondre

4

Vous pouvez définir une valeur par défaut à retourner si le paramètre est réglé

$itemsPerPage = $this->getRequest()->getParam('itemsPerPage', 5) 

Pour la cause de votre erreur un coup d'oeil sur there, de même pour isset().

function getFoo() 
{ 
    return 'foo'; 
} 

var_dump(isset(getFoo()); // causes Fatal error 

$foo = getFoo(); 
var_dump(isset($foo)); // prints "boolean true" 
+0

oh si 'isset' ne vérifie que les variables qui ne renvoient pas de valeur à partir des fonctions? –

+0

Exactement: "isset() ne fonctionne qu'avec des variables car le fait de passer autre chose entraînera une erreur d'analyse." –

Questions connexes