Appeler la méthode statique à partir d'un nom de chaîne en PHP
J'ai besoin d'appeler une méthode statique d'une classe, mais je n'ai qu'un nom de classe, pas une instance. Je suis en train de faire de cette façon.
$class = new "ModelName";
$items = $class::model()->findAll();
Il fonctionne sur mon ordinateur, mais lorsque je passe sur le serveur, il jette un unexpected T_PAAMAYIM_NEKUDOTAYIM
, donc je pense qu'il s'attend effectivement modèle à une variable au lieu d'une méthode.
PS: Si cela peut aider, c'est Yii framework, donc si il y a un autre moyen d'appeler le trouver() fonctionne, c'est ok pour moi.
Merci d'avance
OriginalL'auteur Korcholis | 2012-07-10
Vous devez vous connecter pour publier un commentaire.
C'est parce que votre serveur exécute une version de PHP antérieures à la 5.3.0, dans lequel cette syntaxe n'est pas pris en charge.
À partir de la documentation sur le opérateur de résolution de portée:
Dans tous les cas, vous pouvez toujours utiliser
call_user_func
:OriginalL'auteur Jon