, bir "uygulama" klasöründe Varsayılan olarak app/
saklanan tek ad altında PHP dosya topluluğunun, ve App\
. Örneğin, uygulamanızdaki bir denetleyici böyle görünebilir.
namespace App\Http\Controller;
class MyController
{
//...
}
(Eğer make:request
komutu kullandığınızda yani) laravel kodu üretir, bu uygulama ad (o artisan app:name
komutla ad değiştirmek mümkün) ne olduğunu bilmek gerekir. Bazı nedenlerden dolayı, sisteminizde, Laravel 5 isim alanını algılayamaz.
Eğer namespace
#File: vendor/laravel/framework/src/Illuminate/Console/AppNamespaceDetectorTrait.php
protected function getAppNamespace()
{
$composer = json_decode(file_get_contents(base_path().'/composer.json'), true);
foreach ((array) data_get($composer, 'autoload.psr-4') as $namespace => $path)
{
foreach ((array) $path as $pathChoice)
{
if (realpath(app_path()) == realpath(base_path().'/'.$pathChoice)) return $namespace;
}
}
throw new RuntimeException("Unable to detect application namespace.");
}
Sen laravel sizin composer.json
dosyasına bakan ve thefirst geçerli psr-4
ad bakarak ad algılar olduğunu göreceksiniz algılar laravel 5 çekirdek kodunun kısmına bakarsanız.
Benim tahminim sizin composer.json
dosya ad alanında geri
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
Ekle eksik olduğunu ve gitmek için iyi olacak.