Namespace aide

Par MehdiWEB, il y a 11 ans


Bonsoir, j'ai un probleme je ne sais pas d'ou sa viens voici mon code:

/* Voici la fonction qui inclut mon model */ function loadModel($name) { require_once ROOT."models/".ucfirst($name)."Model.php"; use Models; $this->$name = new $name()\Models; } /*Voici mon model avec le namespace*/ namespace Models { class guest extends Model { public function login() { echo "ok"; } } }

Voici mon erreur:
Parse error: syntax error, unexpected 'use' (T_USE)

3 réponses

MrSaooty, il y a 11 ans

Bonjour il me semble que le use soit être en dehors de la fonction

Ike, il y a 11 ans

Ouai, essaie de mettre le bloc avec les use au début de ton code :)

Ramzz1994, il y a 11 ans

Tu n'as pas à faire de require lorsque tu utilises les namespaces. C'est en fait l'intérêt d'utiliser ce genre de système.

function loadModel($name) { // Il y a certainement d'autres syntaxes possibles... $model = "\\Models\\" . ucfirst($name) . "Model.php"; // Je sais pas pourquoi tu as ajouté "Model.php" après, alors que ton modèle s'appel "guest" $this->model = new $model(); // Si tu veux initialiser ton modèle en variable d'instance. } // ... namespace Models { class GuestModel extends Model { public function login() { echo "ok"; } } } // ou namespace Models; // C'est pas super logique de mettre Models à la racine, mais bon. :-/ class GuestModel extends Model { public function login() { echo "ok"; } }