我使用了 cakephp 方法来更改布局。这里看起来像$this->viewBuilder()->setLayout('admin');我见过viewBuilder类,他们没有使用任何构造。那么对于调用方法,为什么我需要使用类名,如.起初我以为这是一个嵌套方法,但事实并非如此。setLayoutviewBuilder()
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
查看 cake.org 的API,您可以看到方法(不是类)是在 trait ViewVarsTrait
中定义的,并返回一个对象(即获取正在使用的视图生成器)。viewBuilder()
ViewBuilder
此对象有权访问方法 。ViewBuilder
setLayout()
这就是您使用以下内容的原因:$this->viewBuilder()->setLayout('admin');
来自 cakephp.org
26: trait ViewVarsTrait
27: {
...
/**
52: * Get the view builder being used.
53: *
54: * @return \Cake\View\ViewBuilder
55: */
56: public function viewBuilder()
57: {
58: if (!isset($this->_viewBuilder)) {
59: $this->_viewBuilder = new ViewBuilder();
60: }
61:
62: return $this->_viewBuilder;
63: }
...
- 1 回答
- 0 关注
- 97 浏览
添加回答
举报
0/150
提交
取消