ฉันไม่สามารถเชื่อมต่อกิ่งไม้กับ PHP Controller

Nov 19 2020

ฉันมีปัญหาฉันพยายามจะใช้กิ่งไม้ในโครงการแบบสแตนด์อโลน แต่เมื่อฉันกำหนดการตั้งค่าของกิ่งไม้สิ่งนี้แสดงข้อผิดพลาด

ฉันกำลังอ่านเอกสารอย่างเป็นทางการ และโอนการแก้ไขการเข้ารหัสเล็กน้อยเพื่อปรับให้เข้ากับคลาสของฉัน

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

ฉันถูกอ่าน

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"
    }

ฉันล้มเหลวตรงไหน?

คำตอบ

1 ThomasP. Nov 19 2020 at 07:10

ดูเหมือนเนมสเปซของคุณไม่ตรงกัน App\Http\Controllers\BaseControllervs App\Controllers\BaseControllerดูเหมือนว่า Laravel ไม่สามารถหาสิ่งที่ถูกต้องBaseControllerได้ แก้ไขเนมสเปซแล้วลองอีกครั้ง