初次认识phalcon是在刚学php的时候,最近终于有机会用上了.故此说说使用上的一些感受
个人是很喜欢phalcon这套框架的方式,使用依赖注入,让代码组织很灵活,耦合也很低.但是,也许是框架东西太多了,遇到几个坑. github上一年以上的issue也还没解决.不过有一定开发经验的话,还是可以自己修复的.被这几个坑浪费了不少时间....
第一个是view.
phalcon的view,可以分成两大部分,一是全局的layout,二是controller/action的部分,
让使用时更加方便,设置好layout后,只关注controller部分的view即可.
但是关于view的路径设置问题,要关注这几个参数
MainView(主layout文件路径+文件名,但不包括扩展名,扩展名是在注入视图引擎时的key键值),
LayoutsDir(layouts的目录路径),
Layout(主layout文件名,可根据需求,动态使用layouts目录下的某个文件充当mainView),
PartialsDir(使用partial函数时,查找模板文件,如partial('main/header') 则查找路径是"/你的partialsDir/main/header.volt" . ),
ViewsDir(设置controller/action对应的模板文件所在的目录.和partialDir类似,自动查找目录下的模板文件)
BasePath(视图的目录的基础目录,phalcon和根据所有设置的dir来组合路径,查找模板文件,坑就是这了)
我刚开始用这个view的时候,使用的是绝对路径,因为绝对路径配置和管理比较方便.
然后我就被坑了.浪费了一个下午的时间调试.
根据官方文档给出的例子反复测试,发现这个view组件只能使用相对路径设置路径,BasePath不用设置.
一气之下就去翻phalcon的源码了.开发