使用子语句的语句

时间:2015-09-17 20:18:39

标签: php oop inheritance model-view-controller

我有一个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
   }

}

1 个答案:

答案 0 :(得分:1)

不幸的是,如果使用静态方法,您将不得不这样做。您还可以使用Controller方法(构造函数)将验证器注入到类中,然后子类可以使用它。您可以在验证器上使用公共实例变量。

好处是您不需要再次为依赖项指定NS,特别是因为您没有对Validator类的硬依赖,所以代码更清晰。