Je le code suivant au début d'un contrôleur (j'utilise Yii):ne répond pas comme prévu
protected function beforeAction($action = null)
{
switch ($this->action->id)
{
case 'Images':
// Do something
break;
// ...
}
if ($this->action->id == 'index' || $this->action->id == 'videos')
{
// Do something else
}
return true;
}
public function actionIndex()
{
// ...
}
public function actionVideos()
{
// ...
}
public function actionImages()
{
// ...
}
Comme vous pouvez le voir, à la fois l'instruction if et l'instruction switch UTILISIEZ $ this-> action-> id, qui renvoie le nom de l'action. Le problème est que sur l'instruction switch, elle n'accepte que "Images", avec une lettre majuscule, pourquoi, tandis que $ this-> action-> id retourne une chaîne en minuscule.
J'ai même essayé d'écrire une autre instruction if au lieu du commutateur - mais le même problème. De plus, essayé de vérifier la chaîne $ this-> action-> id retourne à la fois sur actionImages() et les autres - tous sont des minuscules.
Merci, s'avère que ce fut mon erreur. – user3803707