[英]Composer autoloader + slim framework - fatal error: Class 'Slim\Slim' not found?
[英]Fatal error: Uncaught Error: Class 'maimana\App' not found — slim3
我一直在遵循Alex的方法來構建購物車課程,並且一切正常。 但是后來我不知道我在做什么錯,所以我得到了這個錯誤:
Fatal error: Uncaught Error: Class 'maimana\App' not found in /Applications/MAMP/htdocs/maimana/bootstrap/app.php:13 Stack trace: #0 /Applications/MAMP/htdocs/maimana/public/index.php(3): require() #1 {main} thrown in /Applications/MAMP/htdocs/maimana/bootstrap/app.php on line 13
bootsrap / app.php:
<?php
use Respect\Validation\Validator as v;
use maimana\App as MyApp;
use Slim\Views\Twig;
use Illuminate\Database\Capsule\Manager as Capsule;
session_start();
require __DIR__ . '/../vendor/autoload.php';
$app = new MyApp;
$container = $app->getContainer();
$capsule = new Capsule;
$capsule->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'maimana',
'username' => 'rdp46',
'password' => 'littlelion4696',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => ''
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
require __DIR__ . '/../app/routes.php';
Myapp / App.php:
namespace maimana;
use DI\ContainerBuilder;
use DI\Bridge\Slim\App as DiBridge;
class App extends DiBridge{
protected function configureContainer(ContainerBuilder $builder)
{
$builder->addDefinitions([
'settings.displayErrorDetails' => true,
]);
$builder->addDefinitions(__DIR__ . '/container.php');
}
}
有人知道發生了什么嗎?
重命名Myapp
目錄maimana
(注意大小寫),然后更新您的composer.json
自動加載的maimana
命名空間。
即確保您的composer.json具有:
"autoload": {
"psr-4": {
"maimana\\": "maimana/"
}
}
假設maimana
目錄位於composer.json
文件所在項目的根目錄中。 更改composer.json
,需要運行composer dumpautoload
才能使更改生效。
這是必需的,因為在PHP文件所在的目錄名稱與該PHP文件中類的名稱空間之間存在一對一的映射。 由於App.php
的名稱空間為maimana
,因此目錄必須為maimana
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.