我有一个Controller
类,我必须使用几个名称空间,如:
<?php
use Respect/Validation/Validator;
use Blah/blah/Foo;
class Controller {}
现在我希望在每个扩展我的Controller
类的控制器文件中,我不必一次又一次地编写use语句。
这是我想要的,类似于Laravel在别名部分所做的事情。
我将如何实现这一目标?例如,当我这样做时:
<?php
class HomeController extends Controller {
public function index()
{
$data = '';
Validator::arr($data); // Validator not found
}
}
答案 0 :(得分:1)
不幸的是,如果使用静态方法,您将不得不这样做。您还可以使用Controller方法(构造函数)将验证器注入到类中,然后子类可以使用它。您可以在验证器上使用公共实例变量。
好处是您不需要再次为依赖项指定NS,特别是因为您没有对Validator类的硬依赖,所以代码更清晰。