symfony - 如何防止 Symfony 4 中出现“类名或命名空间可能有错字”的错误?
问题描述
我收到以下错误消息...
自动加载器期望类“App\DataTables\UsersDataTable”在文件“/Users/work/project/vendor/composer/../../src/DataTables/UsersDataTable.php”中定义。找到了文件但类不在其中,类名或命名空间可能在 /Users/work/project/config/services.yaml 中有错字(在资源“/Users/work/project/config/服务.yaml”)。
但是我的scr/DataTables/UsersDataTable.php有一个正确的命名空间和类:
namespace App\DataTables\UsersDataTable;
use DataTables\DataTableHandlerInterface;
use DataTables\DataTableQuery;
use DataTables\DataTableResults;
use Symfony\Bridge\Doctrine\RegistryInterface;
class UsersDataTable implements DataTableHandlerInterface
{....
在config/service.yaml我这样命名它......
datatable.users:
class: App\DataTables\UsersDataTable
tags: [{ name: datatable, id: users }]
arguments: [ '@doctrine' ]
解决方案
你快到了!
命名空间语句表示“我在这个目录下”(嗯,命名空间)语句表示:加载这个
类( =一个文件)use
namespace App\DataTables;
use DataTables\DataTableHandlerInterface;
// [...]
class UsersDataTable extends DataTableHandlerInterface
{