用了几天webman,感觉视图这块用起来不是很方便,提几个建议:
1、可以参考TP的 View::fetch()
比如:admin/controller/Config 的 index 方法,如果模板路径没有特殊要求的话
那模板文件就是:admin/view/config/index.html
webman用法:return view('config/index'); 如果有成百上千个方法的话,也挺累的。。。
tp用法:return View::fetch(); 自动为 /view/当前应用/控制器/方法名.html
2、模板目录
个人觉得还是把view独立出来到根目录,app目录还是做纯业务代码较好。
最好可以在view.php里加个配置项,设置 模板目录,默认:/view/当前应用/,自定义:/template/当前应用/
-------上述都是以多应用为例!
1、View::fetch()这种功能不适合放在View类里,因为它需要获取请求的应用控制器等信息,导致View类与request对象耦合。
view应该只关注视图输入的模板路径和参数,不应该隐式的依赖request对象。
还有两种写法对比
显然第二种少打很多字符,语义更明确。
如果真需要fetch方法,实际上应该放在控制器基类里,然后
return $this->view();
,这个自己封装下就好了。OK,收到!
大佬就是大佬👍
第1种方法,能否像发帖者说的这样:return view();调用的模板就是:当前控制器/方法名.html
自己在控制器基类里面 封装一个 view() 就可以实现 自动调用当前控制器/方法名.html 的模版了