2017-04-26 185 views
0

我正在关注alex的how to build a shopping cart lesson,一切工作正常。但后来我不知道,所以我得到什么即时做错了这个错误:致命错误:未捕获错误:找不到类'maimana App' - slim3

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'); 
    }  
} 

有谁知道这是怎么回事?

+0

阅读本自动加载您 – tcPeng

+0

类[PSR4(http://www.php-fig.org/psr/psr-4/)我没有,但什么都没有改变 – Riry

+0

可能大家看到你的'composer.json'? – meun5

回答

0

Myapp目录重命名为maimana(注意大小写),然后将您的composer.json更新为自动加载maimana命名空间。

即确保composer.json有:

"autoload": { 
    "psr-4": { 
     "maimana\\": "maimana/" 
    } 
} 

这是假设在项目的根目录下的maimana directoryis其中composer.json文件。一旦更改了composer.json,您需要运行composer dumpautoload以使更改生效。

这是必需的,因为PHP文件所在的目录名称与该PHP文件中的类名称空间之间存在一对一的映射。由于您的App.php中的名称空间为maimana,因此该目录需要为maimana

相关问题