Maison  >  Questions et réponses  >  le corps du texte

L'erreur de chargement automatique PHP ne trouve pas la raison, aidez-moi s'il vous plaît

QQ浏览器截图20200307005945.png<?phpnamespace frameworkcore;
class Framework{ //Initialisé dans la méthode constructeur public function __construct() { $this->autoload(); $this->initMCA(); $this->dispatch(); public function autoload() {           //Remarque : Si le paramètre d'une fonction est une fonction de rappel, écrivez simplement le nom de la fonction directement                                                                                                                                                       //                 Méthode d'objet spl_autoload_register(array($this,"autoloader")); chargement et exécution de la fonction public function autoloader($className) { echo 'Nous avons besoin de :'.$className.'<br>'; / /Créer un cas particulier pour les classes tierces if($className=='Smarty') { require_once './framework/vendor/smarty/Smarty.class.php'; return; Classes dans l'espace de noms, séparées $arr = explosive('\', $className); //2. sur le premier élément if($arr[0] == 'framework'){ $ basic_path = './'; }else{               $basic_path = './application/';                                                                       en utilisant             en utilisant ' s }     à travers   en utilisant         à travers   à travers ‐   ‐ à ‐ ‐ ‐ }                                                           //4. Déterminer le nom du fichier // Déterminer le suffixe : le suffixe du fichier de classe : .class.php, le suffixe du fichier d'interface : .interface.php //frameworkda oI_DAO, déterminez si le dernier élément commence par I_ if(substr($arr [count($arr)-1], 0,2)=='I_'){                                                                                                                                                $fix = ' }.$class_file = $basic_path.$sub_path.$fix; //5. Chargement de la classe //Si elle n'est pas définie selon les règles de notre espace de noms, cela signifie que ce n'est pas une classe que nous devons charger, donc il n'y en a pas. besoin de le charger if(file_exists($class_file)) {             require_once $class_file;                                                                                                                                                                                            ‐ ‐‐‐‐   ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ $m = isset($_GET['m'])?$_GET['m']:'home'; definition('MODULE', $m); //À quel contrôleur accéder $c = isset($_GET[ 'c'])?$_GET['c']:'Index'; definition('CONTROLLER', $c); //À quelle opération du contrôleur est accédé ? $a = isset($_GET['a'] )? $_GET['a']:'indexAction'; definition('ACTION', $a); } //Instancier l'objet et appeler la méthode public function dispatch() { $controller_name = MODULE.'controller\'. CONTROLLER.' Controller '; // Charge d'abord la classe du contrôleur, puis instancie l'objet $ controller = new $ controller_name; // La méthode d'appel du contrôleur $ a = action; }

有病呻吟有病呻吟1658 Il y a quelques jours889

répondre à tous(1)je répondrai

  • justin

    justin2020-03-11 08:40:12

    Re-téléchargez smarty et vérifiez s'il y a un dossier sysplugins dans le smart de votre projet et s'il n'y a pas de dossier plugins, alors passez l'examen.

    répondre
    0
  • Annulerrépondre