phpcs - 类必须在至少一个级别的命名空间 - 如何解决?(phpcs - class mus

2019-10-21 09:31发布

我使用laravel 4.2。

比方说,有这样的类:

class BShopsController extends ShopsController

为了解决这个问题,我尝试使用的命名空间可以这样说:

namespace app\controllers;

然后它没有找到ShopsController

所以我想补充

use \ShopsController;

然后我得到的错误:

类BShopsController不存在

命名空间是什么,我应该使用首先,因此它不会破坏任何东西?

编辑:

BShopsController和ShopsController在文件夹商店

Answer 1:

当你的文件是商店文件夹内,我相信,商店文件夹是应用程序文件夹内,你应该命名空间类下面的方式。

<?php namespace Shops;

class BShopsController extends ShopsController{}

同样的,

<?php namespace Shops;

    class ShopsController{}


Answer 2:

因此,与Shhetri的帮助,这在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;

因为商店控制器是另一个命名空间比BaseController并不能找到它。 但是从BaseController扩展,所以需要它。



文章来源: phpcs - class must be in a namespace of at least one level - how to fix?