Non riesco a collegare twig con il controller PHP

Nov 19 2020

ho un problema, sto provando a usare il ramoscello in un progetto autonomo. Ma quando definisco le impostazioni di twig, questo mostra un errore

Stavo leggendo il documento ufficiale. e trasferisce la codifica modificandola un po 'per adattarla alla mia classe.

Fatal error: Class 'App\Http\Controllers\BaseController' not found in C:\laragon\www\mecanicos\src\Http\Controllers\HomeController.php on line 6

Sono stato letto

BaseController.php

<?php

namespace App\Controllers;
use Twig_Loader_Filesystem;
use Twig\Environment;

class BaseController {
    protected $templateEngine; public function __construct(){ $loader = new Twig_Loader_Filesystem(__DIR__ .'/../resources/views');
        $this->templateEngine = new Twig_Environment($loader, [
            'debug' => true,
            'cache' => false
        ]);
    }

    public function renderHTML($fileName, $data = []){
        return $this->templateEngine->render($fileName, $data);
    }
}

HomeController.php

<?php

namespace App\Http\Controllers;
use App\Http\Controllers;

class HomeController extends BaseController {
    public function index(){
        
    echo $this->renderHTML('home.twig');
    }
}

composer.json

"autoload": {
        "psr-4": {
            "App\\": "src/"
        },
        "files": [
            "src/helpers.php"
        ]
    },

"require-dev": {
        "twig/twig": "9999999-dev"
    }

Dove sto fallendo?

Risposte

1 ThomasP. Nov 19 2020 at 07:10

Sembra una mancata corrispondenza nei tuoi spazi dei nomi. App\Http\Controllers\BaseControllervs App\Controllers\BaseControllerSembra che Laravel non riesca a trovare il giusto BaseController. Correggi lo spazio dei nomi e riprova.