2017-04-26 1 views
0

私はアレックスの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

この[psr4](http://www.php-fig.org/psr/psr-4/)でクラスを自動読み込みする – tcPeng

+0

私は何も変わっていません – Riry

+0

あなたの 'composer.json'が見えますか? – meun5

答えて

0

Myappディレクトリの名前をmaimana(注記)に変更し、composer.jsonを更新してmaimana名前空間を自動読み込みします。

つまり、あなたのcomposer.jsonが持っていることを確認します。

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

これはcomposer.jsonファイルは、プロジェクトのルートにmaimana directoryisことを前提としています。 composer.jsonを変更したら、composer dumpautoloadを実行して変更を有効にする必要があります。

これは、PHPファイルが格納されているディレクトリ名とそのPHPファイルのクラスの名前空間との間に1対1のマッピングが存在するため必要です。 App.phpの名前空間がmaimanaであるため、ディレクトリはmaimanaである必要があります。

関連する問題