phpcs - 类必须在至少一个级别的命名空间中 - 如何修复?

时间:2014-12-09 08:27:10

标签: laravel-4 codesniffer

我正在使用laravel 4.2。

让我们说有这样的课程:

class BShopsController extends ShopsController

要解决这个问题,我尝试使用名称空间让我们这样说:

namespace app\controllers;

然后它找不到ShopsController

所以我添加

use \ShopsController;

然后我收到错误:

类BShopsController不存在

我应该首先使用什么命名空间,这样才不会破坏任何东西?

修改

BShopsController和ShopsController位于文件夹商店

2 个答案:

答案 0 :(得分:3)

由于您的文件位于Shops文件夹中,并且我认为Shops文件夹位于app文件夹中,您应该按照以下方式命名您的课程。

<?php namespace Shops;

class BShopsController extends ShopsController{}

同样,

<?php namespace Shops;

    class ShopsController{}

答案 1 :(得分:2)

所以在Shhetri和Using namespaces in Laravel 4

的帮助下

我是这样做的:

namespace App\Controllers\Shops;

class BShopsController extends ShopsController{}

同样在routes.php中,然后需要更改为:

Route::controller('shops', 'App\Controllers\Shops\ShopsController');

在调用action()方法的地方 - 也需要使用命名空间。

还需要运行

composer dump-autoload -o 

否则是错误。

同样在ShopsContrller中需要这样:

use \App\Controllers\BaseController;

因为Shops控制器位于另一个名称空间而不是BaseController,所以无法找到它。但是从BaseController扩展,所以需要它。