2017-04-26 201 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

相關問題