我正在尝试自动加载我的类。我用一个文件Foo.php和一个Bar.php文件创建一个文件夹app/Classes。Laravel 5麻烦自动加载类 - 未找到类错误
在composer.json我的文件夹中
composer dump-autoload
已验证vandor /自动加载/ autoload_classmap.php引用
"autoload": {
"classmap": [
"database",
"app/Classes/"
],
"psr-4": {
"App\\": "app/"
},
"files": ["app/Library/myFunctions.php"]
},
关注这个既有
'Bar' => $baseDir . '/app/Classes/Bar.php',
'Foo' => $baseDir . '/app/Classes/Foo.php',
我把在每个类中的简单功能,如:
<?php
class Bar {
public function __construct(){
echo 'Bar';
}
}
?>
然后我试图引用它
new Bar;
,并收到错误
FatalErrorException in LoginController.php line 24:
Class 'App\Http\Controllers\Login\Bar' not found
NOW .....解决我把错误
new \Bar;
和我们很好。
是否有某些原因我需要我的代码中的'\'。这种修复方式无处可寻,我只是在laracasts上注意到它,并在挫折中添加它,并且它很有效。
看起来像我可以添加使用App \ Classes \酒吧在顶部然后做新酒吧;或者我可以跳过它并执行新的\ App \ Classes \ Bar;但我认为重点是我正在从一个更深的文件夹测试这个,我所关注的大多数例子都在根文件夹中。 – Iannazzi
然而,只是把'使用Foo'放入工作不起作用。 – Iannazzi
嗯,这很奇怪 - \ Bar工作,但名称空间实际上是\ App \ Classses \ Bar。我知道Laravel的确在类名方面做了一些鬼鬼祟祟的技巧,但这看起来很奇怪。 – Octo