php如何让在当前类里面扩充军队(招兵买马 收容其他的类变成自己的一部分)

如题 这个思路我觉得蛮重要的 所以做下记录 我需要在当前操作类 里 用其他的类 常见的用法就是use 这个类 然后直接用这个类 但是这种用法有一个弊端 就是当其实你本身在操作的当前类只是个通用方法(当前类仅仅是服务类 上面还有层 会用它)

这种情况下我们要考虑给当前类用面向对象的思想 定义 一个属性(一般是protected方便给子类用) 然后在构造方法中将其他的类赋值给这个成员变量(属性) 具体操作如下:

/**
     * @var \think\Request Request 实例
     */
    protected $request;

...
...
...
...

 public function __construct(Request $request = null)
    {
        $this->request = is_null($request) ? Request::instance() : $request;
	}

顺便附上 TP5Controller类的 构造方法 我感觉能给我启发

/**
     * 构造方法
     * @access public
     * @param Request $request Request 对象
     */
    public function __construct(Request $request = null)
    {
        $this->view    = View::instance(Config::get('template'), Config::get('view_replace_str'));
        $this->request = is_null($request) ? Request::instance() : $request;

        // 控制器初始化
        $this->_initialize();

        // 前置操作方法
        if ($this->beforeActionList) {
            foreach ($this->beforeActionList as $method => $options) {
                is_numeric($method) ?
                $this->beforeAction($options) :
                $this->beforeAction($method, $options);
            }
        }
    }

记录你我
请先登录后发表评论
  • latest comments
  • 总共0条评论