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