首页 > 解决方案 > 如何防止 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' ]

标签: symfonyclassnamespacesyaml

解决方案


你快到了!
命名空间语句表示“我在这个目录下”(嗯,命名空间)语句表示:加载这个
=一个文件)use

namespace App\DataTables;

use DataTables\DataTableHandlerInterface;
// [...]

class UsersDataTable extends DataTableHandlerInterface
{

推荐阅读