Bonjour, Désolé de poster ici mais impossible de poster sur le forum Je rencontre un petit problème avec mon code.
Je cherche à obtenir la même chose qu'à la fin de la vidéo refactoring, j'ai donc strictement suivi le code présentée dans la vidéo, à l'exception de la partie Caterogy, que je vais remplacer par Comment.
Et il semble qu'il y ait une erreur avec les class_name, voilà mon code : app.php

public function getTable($name) {
        $class_name = '\\app\\Table\\' . ucfirst($name) . 'Table';
        return new $class_name($this->getDb());
    }

Et j'ai un message d'erreur :

Fatal error: Uncaught Error: Class '\app\Table\PostTable' not found in C:\MAMP\htdocs\app\app.php on line 38
Error: Class '\app\Table\PostTable' not found in C:\MAMP\htdocs\app\app.php on line 38

Time Memory Function Location
1 0.2021 362272 {main}( ) ...\index.php:0
2 0.2051 398512 require( 'C:\MAMP\htdocs\pages\posts\home.php' ) ...\index.php:29
3 0.2051 398592 App->getTable( ) ...\home.php:17

2 réponses


Bonsoir,

Sauf erreur de ma part, la classe PostTable se situe dans le namespace App\Table et non app\Table comme tu l'as écrit.
Je t'invite à changer ton code comme ceci :

public function getTable($name) {
        $class_name = '\\App\\Table\\' . ucfirst($name) . 'Table';
        return new $class_name($this->getDb());
}
Sess16
Auteur

ça fonctionne ! Merci beaucoup ! ;)