我正在尝试在全新安装的 Laravel 中创建一个简单的类。为此,我创建了一个文件夹 app/Convert 并将 php 文件放在那里。该类如下所示:
<?php
namespace App\Convert;
class Converter
{
public function __construct()
{
...Code
}
}
现在,当我尝试从 Tinker 访问它时:
use App\Convert\Converter;
new Converter;
我得到:
PHP Fatal error: Class 'App/Convert/Converter' not found in Psy Shell code on line 1
我究竟做错了什么?据我了解,laravel 应该自动执行 app 文件夹及其子文件夹中的文件,还是我弄错了?
编辑:对不起,我第一次写错了(我只是在命名空间上玩了这么多,所以我拿错了版本)。问题实际上是文件名不是 Converter.php,所以当我将其更改为 Converter.php 时,事情开始发生变化。如果他将 Devon 的答案作为答案而不是评论,我会将其设置为正确答案。所以写在这里:
包含类的文件名应与类名相同。并且文件的路径与命名空间路径相同。(请参阅他的答案下方的马修评论)