位置: 编程技术 - 正文

phalcon框架使用指南(pace框架)

编辑:rootadmin

推荐整理分享phalcon框架使用指南(pace框架),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:phalcon框架使用方法,consul框架,consul框架,pace框架,pace框架,phaser框架,phaser框架,phenix框架,内容如对您有帮助,希望把文章链接给更多的朋友!

初次认识phalcon是在刚学php的时候,最近终于有机会用上了.故此说说使用上的一些感受

个人是很喜欢phalcon这套框架的方式,使用依赖注入,让代码组织很灵活,耦合也很低.但是,也许是框架东西太多了,遇到几个坑. github上一年以上的issue也还没解决.不过有一定开发经验的话,还是可以自己修复的.被这几个坑浪费了不少时间....

第一个是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的源码了.开发语言是Zephir,phalcon团队自己开发的语言.

语言语法比较简单,容易懂.然后看到了这句.

..]

看起来像是没有判断是相对路径还是绝对路径,直接组合起来了而已的,猜测是这里引发了问题.

并且是直接按顺序解析action , layout , main layout这些模板文件.

于是想验证一下.所以我写了几个调试文件,打算调试一下.

翻查phalcon源码过程省略字...找到必然会调用,并有路径处理的几个主要方法,继承View相关的几个class

我测试的代码,使用多模块的方式.

phalcon框架使用指南(pace框架)

BaseView文件,继承phalcon的view,并且打开这个方法的报错信息

BaseVolt文件,继承模板引擎volt

view注入代码,和目录结构如图

log记录如下

页面输出如下:

跟想像的一样,使用绝对路径时,无论如何,phalcon都是直接拼接以上设置的路径,

当开发者想动态使用controller/action的view,但layouts主目录又在上层目录时,就会出问题.

phalcon找的main layout路径是PhalconMvcViewException: View '/Users/Hin/work/phalcon_mode/app/modules/admin/views/layouts/main' was not found in the views directory

而我要的是/Users/Hin/work/phalcon_mode/app/views/layouts/main

然后找不到路径,main layout模板文件就不起作用了..........

phalcon view源码里三个变量中,basePath,viewDir(关键就是作者对viewDir这个变量理解有误,导致的bug) 看成是基础的路径. viewPath是依次执行_enginrender时的action view,layout view ,main view的路径.理解了这个就可以自己慢慢设置好了路径了.....

------------------------------华丽分割线------------------------------------

第二是model

还有个坑,是关于phalcon的model.一样是发了issue,作者没管.根据文档model是提供了setter 链接描述 方法的,可实际上,setter却不起作用...

不过用这个框架的开发的项目夭折了,再深入点的坑也遇不到了.没有意外的话,短期内也不会用了.最近心情比较糟糕.写得比较随便.当个记录好了.......

最后直接附上 github 源码,多模块模式开发用这样的目录结构也是不错的,希望能帮到别人

在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程 因为甲骨文的尿性。mariadb应该要顶替mysql了。所以抛弃mysql1,编译nginx分别下载nginx,openssl,pcre编译openssl的时候会提示WARNING!Ifyouwishtobuild-bitlibrary,theny

关于PHP 如何用 curl 读取 HTTP chunked 数据 对于Web服务器返回的HTTPchunked数据,我们可能希望在每一个chunk返回时得到回调,而不是所有的响应返回后再回调.例如,当服务器是icomet的时候.在PHP中使用cu

PHP文件缓存smarty模板应用实例分析 本文实例分析了PHP文件缓存smarty模板应用。分享给大家供大家参考,具体如下:一、使用缓存要开启smarty的缓存,只需将caching设为true,并指定cache_dir即可.

标签: pace框架

本文链接地址:https://www.jiuchutong.com/biancheng/289857.html 转载请保留说明!

上一篇:PHP编写RESTful接口(php rest api)

下一篇:在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程(mac m1 rosetta编译)

  • 加计抵减不符合怎么办
  • 外购商品赠送怎么做账
  • 工程款增值税专用发票如何开具
  • 资产超过5000万的企业所得税税率
  • 百旺金赋的服务费必须交吗
  • 支付境外技术服务费代扣代缴所得税账务处理
  • 月报和季度报的区别
  • 行政事业单位国有资产处置管理办法
  • 增值税税率如何计算
  • 抵押贷款买房子合适还是商业贷款合适
  • 盈余公积要是提多了能转回么
  • 收回赔款会计分录
  • 股权转让个人所得税
  • 含税金是什么意思
  • 贸易公司购买汽车的发票可以用抵公司的税吗
  • 季度所得税预缴可以弥补以前年度亏损吗
  • 怎么查公司连续缴纳社保记录
  • 金融保险业的行业规范及标准
  • 机器设备的拆除方法
  • 加盟费怎么算的
  • 公账转私账用途怎么写
  • 外币报表折算差额怎么算
  • 固定资产清理需要结转吗
  • 企业筹建期间的广告费和业务宣传费
  • 法律诉讼费计入什么会计科目
  • 应收账款平均余额怎么理解
  • 最新版小企业会计准则是哪一年的
  • 公司支出的消防费用
  • 报销各种费用怎么做分录
  • 屏幕颜色怎么变
  • 员工食堂餐费可以税前扣除吗
  • 前端常用插件汇总
  • 另一种答案
  • web前端综合案例开发离线作业1
  • 定额发票怎么查询经营范围
  • echarts css
  • Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
  • 安装nodemodules
  • php trait用法
  • php获取网页所有页数
  • 金蝶科目明细表
  • 最详细、最完整的相机标定讲解
  • 彩钢板房税点
  • 应付账款会计分录大全
  • python的多线程 吃cpu太厉害
  • 有趣的 Go HttpClient 超时机制
  • mysql查询一列数据
  • 工伤医疗费必须要交吗
  • 免税产品出口是否可以退税
  • 账实不符的后果和对策
  • 进项抵扣了还要交附加嘛
  • 金蝶k3如何设置现金流量表取数公式
  • db2常用操作语句
  • 房地产企业成本结转
  • 客户是否需要向客户介绍
  • 固定资产提前报废当月计提折旧吗
  • 交城市维护建设税减半征收吗?
  • 购买原材料材料尚未验收入库,款项尚未支付
  • 进项票取得晚了怎么抵扣
  • 会议中发生的相关事件
  • 明细账的登记方向与总账的登记方向是一致的
  • mysql保留整数
  • 在sql server中触发器不具有什么类型
  • windows8.1安装windows7
  • mac上怎么用ppt
  • pptp和l2tp哪个比较安全
  • windowsxp怎么打开设置
  • win8.1使用技巧大全
  • linux 消耗内存命令
  • 如何彻底解决win10自动重启
  • h5 nodejs
  • 深入理解新发展理念,推进供给侧结构性改革
  • node.js介绍
  • 终于实现的图片
  • 河南办税服务厅
  • 四川省税务干部学校官网
  • 商铺缴纳契税需要复印件吗
  • 税务稽查问题应对心得
  • 精准扶贫的实践与探索经验
  • 湖南兴广地税务师事务所有限公司(兴广集团有限公司)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设