ข้อผิดพลาดร้ายแรง: ไม่พบคลาส 'Illuminate\Database\Capsule\Manager'

ฉันกำลังติดตามบทแนะนำการตรวจสอบสิทธิ์แบบใหม่ของ phpacademy https://www.youtube.com/watch?v=PF2WkRCZfBg

ฉันมีไฟล์คลาสdatabase.php:

<?php
use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
 'driver'     => $app->config->get('db.driver'),
 'host'       => $app->config->get('db.host'),
 'database'   => $app->config->get('db.name'),
 'username'   => $app->config->get('db.username'),
 'password'   => $app->config->get('db.password'),
 'charset'    => $app->config->get('db.charset'),
 'collation'  => $app->config->get('db.collation'),
 'prefix'     => $app->config->get('db.prefix')
]);

$capsule->bootEloquent();

อย่างไรก็ตาม มันทำให้เกิดข้อผิดพลาดนี้:

ข้อผิดพลาดร้ายแรง: ไม่พบคลาส 'Illuminate\Database\Capsule\Manager' ใน C:\xampp\htdocs\boilerplate\app\database.php ออนไลน์ 4

ฉันต้องการมันใน start.php

<?php
require 'database.php';
//############ NAMESPACING ################//
use Slim\Slim; //import slim
use Noodlehaus\Config;
use Boilerplate\User\User;
//#########################################//

session_cache_limiter(false);
session_start();

ini_set('display_errors','on'); //TURN OFF ON LIVE SITE

define('INC_ROOT', dirname(__DIR__)); //create local root

require INC_ROOT . '/vendor/autoload.php'; // autoload in all the      dependencies in the vendor files.

$app = new Slim([
'mode' => file_get_contents(INC_ROOT . '/mode.php')
]); //assign the entire app file to a variable

$app->configureMode($app->config('mode'), function() use ($app){
$app->config = Config::load(INC_ROOT . "/app/config/{$app->mode}.php"); //pull in the config file
});

$app->container->set('user', function(){
    return new User;
});

person tom Bannister    schedule 22.07.2015    source แหล่งที่มา
comment
คุณกำลังดึง Illuminate\Database โดยใช้ composer หรือไม่?   -  person nathanmac    schedule 22.07.2015
comment
ใช่ ฉันเอง นี่คือไฟล์ json ของฉัน { autoload: { psr-4 : { Boilerplate\\ : app/Boilerplate } } ต้องการ: { slim/slim: ~2.0, slim/views: 0.1.*, phpmailer/phpmailer: ~ 5.2, hassankhan/config: 0.8.*,twig/twig: ~1.0, ส่องสว่าง/ฐานข้อมูล: ~5.0, ircmaxell/random-lib: ~1.1 }   -  person tom Bannister    schedule 22.07.2015


คำตอบ (2)


ตรวจสอบให้แน่ใจว่าคุณได้เพิ่ม Illuminate\Database ลงในไฟล์ผู้แต่งและเรียกใช้ composer update

จากนั้นใส่ require 'database.php'; หลังจากที่คุณเพิ่มตัวโหลดอัตโนมัติ

require INC_ROOT . '/vendor/autoload.php';

// Below here
person nathanmac    schedule 22.07.2015
comment
ขอบคุณมากเพื่อนจริงๆ ที่ทำให้สมองฉันเหนื่อยมาหนึ่งวัน! - person tom Bannister; 22.07.2015

ฉันมีข้อผิดพลาดเดียวกัน ในกรณีของฉัน วิธีแก้ไขคือติดตั้ง composer อีกครั้งด้วยคำสั่งถัดไป:

composer install

หากคุณใช้นักเทียบท่า ตรวจสอบให้แน่ใจว่าคุณอยู่ในคอนเทนเนอร์ก่อนรันคำสั่งติดตั้ง

docker-compose run <app_name> bash
person Puje    schedule 09.12.2019