Laravel命名空间 - 不能使用框架类

时间:2014-01-16 16:10:02

标签: php namespaces laravel laravel-4

我正在开发一个应用程序,我已经创建了一个管理区域,并且这个类在Admin命名空间中生效,

namespace Admin;
class PortfolioController extends BaseController {

}

但是,如果我想做的事情,

View::make() or Input::get()

我必须添加

use View;
use Input;

到我的控制器定义,我想这将导致缺少功能并且会变得非常烦人,有没有办法使用我的管理命名空间但不明确我将使用哪些类?

2 个答案:

答案 0 :(得分:0)

唯一的方法是像这样使用它们:

\View::make();
\Input::get();

您告诉PHP这些类不在您的命名空间中。

答案 1 :(得分:0)

如果您使用命名空间,这意味着每个类 - 例如视图 - 现在位于此命名空间内。不仅是Laravel(Facade)类,如View,还有Exception,DateTime,......只是每个类。这就是名称空间的工作方式。

因此,您可以使用“use”或“\”来访问当前命名空间之外的类。 “使用”是一项额外的工作,但有希望:强大的IDE,如PHPStorm可以自己添加使用声明!只要IDE设法了解您引用的类,就可以自动添加use语句。