位置: 编程技术 - 正文

yii,CI,yaf框架+smarty模板使用方法(yii2框架运行原理)

发布时间:2024-01-03

推荐整理分享yii,CI,yaf框架+smarty模板使用方法(yii2框架运行原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yii框架是什么,yii框架设计模式,yii框架是什么,cynefin框架,yew 框架,yew 框架,yew 框架,yaf 框架,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了yii,CI,yaf框架+smarty模板使用方法。分享给大家供大家参考,具体如下:

最近折腾了框架的性能测试,其中需要测试各个模板跟smarty配合的性能,所以折腾了一桶,现总结一下。之前已经写过kohana框架+smarty模板,这里不再重复了。

一、yii框架+smarty模板

yii是覆盖了viewRenderer组件。

1.1,下载yii框架并解压,下载smarty框架并解压,将smarty/libs文件夹拷到yii框架application/protected/vendors下面,并重命名smarty。

1.2,yii配置文件main.php

其中batman是我已经在index.php定义好的别名。

1.3,在protected/extensions/下面新建SmartyViewRender.php

1.4,验证

新建一个HelloController.php

新建一个word.html

二、CI框架+smarty模板

网上很多方法,将smarty作为一个普通的library,在使用的时候,controller代码类似于下面:

这种方法跟CI自带的使用模板的方法不和谐,而且要一系列的语句,麻烦不说,还破坏了原本CI的简洁美,所以果断唾弃之。

那怎么保持CI加载view时的简洁美呢,答案就是覆盖Loader类的view()方法。好吧,let's begin。

2.1,条件:

到官网上现在CI框架和smarty模板。

2.2,确保CI已经能跑起来

将CI框架解压到网站跟目录下,先写一个不带smarty模板的controller输出“hello world”。

2.3,引入smarty

将smarty解压,将libs文件夹考到application/third_paty下面,并将libs重命名smarty,重命名取什么都ok了,这里就叫smarty吧。

yii,CI,yaf框架+smarty模板使用方法(yii2框架运行原理)

2.4,覆盖loader类的view()方法

因为view()方法在Loader类里,所以我要覆盖Loader的view()方法。

先看看$this->load->view()是怎么工作的?CI_Controller类的构造函数里有这么一行load_class函数会先在application/core下面找config_item('subclass_prefix').Loader.php文件,找不到再到system/core下面找Loader.php。config_item('subclass_prefix')就是在配置文件里写的你要继承CI核心类的子类的前缀。我使用的是默认值'MY_'。找到文件后,require该文件,然后new MY_Loader(如果application/core/MY_Loader.php存在),或者是new Loader,赋值给$this->load。

在application/core下面新建一个MY_Loader.php文件

我把template_ext配置成了".html",这样就ok了。我们来验证一下吧。

2.5,验证

在controller下面建一个home.php

在views下面建一个index_2.html

好了,可以试试你的成果了。

三、yaf框架+smarty模板

yaf是利用引导文件Bootstrap.php来加载smarty。

3.1,使用Bootstrap

在index.php中用

引入Bootstrap.php文件

3.2,在application/Bootstrap.php文件中导入smarty。

3.3,添加Smarty_Adapter类

将smarty解压后放到application/library文件夹下,重命名为Smarty。在Smarty下新建Adapter.php,确保Smarty.class.php在Smarty/libs/下。Adapter.php内容:

3.4,smarty配置文件。

再来看看我们的conf/application.ini文件

3.5,验证

新建一个controller,添加方法:

新建一个模板two.tpl

希望本文所述对大家PHP程序设计有所帮助。

使用PHP如何实现高效安全的ftp服务器(二) 在上篇文章给大家介绍了使用PHP如何实现高效安全的ftp服务器(一),感兴趣的朋友可以点击了解详情。接下来通过本篇文章给大家介绍使用PHP如何实现高

thinkPHP导出csv文件及用表格输出excel的方法 本文实例讲述了thinkPHP导出csv文件及用表格输出excel的方法。分享给大家供大家参考,具体如下:1.thinkphp导出csv文件导出csv文件可能就那几行代码,今天

详解PHP中的null合并运算符 null合并运算符是一个好东西,有了它我们就能很方便的获取一个参数,并能在其为空的情况下提供一个默认值。比如在js中可以用||来搞:functionsetSomethi

标签: yii2框架运行原理

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

上一篇:在WordPress的文章编辑器中设置默认内容的方法(wordpress的文章在数据库里吗?)

下一篇:使用PHP如何实现高效安全的ftp服务器(二)(php实现原理)

  • 账面价值计税基础算法
  • 什么是抄报税证明
  • 哪些产品享受教育优惠
  • 企业所得税税负高是什么意思
  • 企业为自然人什么意思
  • 会计做账能否使用复印件做账
  • 建筑业挂靠企业所得税如何收取
  • 发票作废后对方不退回抵扣联怎么办
  • 预提费用在资产负债表哪个科目
  • 外贸企业申报出口退税时的会计分录
  • 出口免税收入会退税吗
  • 增值税税收返还政策
  • 库存商品过期报废需要什么附件
  • 发现财务人员违法怎么办
  • 通用机打发票开具给个人是否需要缴税?
  • 一般纳税人在国家电子税务局里面如何添加银行账户
  • 施工工人个税怎么计算?
  • 公司用上年多缴的社保
  • 个人所得税未缴算偷税吗
  • 当年亏损可以用以前年度来弥补吗
  • 小规模未开票收入如何申报增值税
  • 生产性生物资产包括哪些
  • 虚开增值税专用发票案例
  • 两万元大写金额报销单怎么写
  • 资产收购的特殊性税务处理方法
  • 亏损的结转分录
  • 投标保证金利息怎么做账
  • php上传进度条
  • macos big sur卡在
  • 网页视频播放不流畅原因
  • 电脑c盘被损坏怎么修复
  • Win10怎么显示文件类型
  • php数组函数输出《咏雪》里有多少"片"字
  • php常用的设计模式在开发中的实例
  • 直接材料成本差异账户在平时登记贷方登记
  • paul滑雪
  • 小规模纳税人企业所得税税收优惠政策
  • 接受投资收到的现金计入
  • 大前端技术架构
  • ftp port命令
  • 非事业单位企业退休年龄
  • 织梦专题页模板
  • 纳税调增调减通俗易懂
  • 预提成本应该如何结转
  • 合并范围外关联方是什么
  • wordpress限制下载次数
  • 公司租个人房屋交什么税
  • SQL Server中TRUNCATE事务回滚操作方法
  • 不认定为一般纳税人的有哪些
  • 新办企业发票核定及申领
  • 信用减值损失是什么项目
  • 一般纳税人一直零申报会怎么样
  • 现金流量表为负数的几种原因
  • 在建工程包括哪些大类科目
  • 个人所得税不需要汇算清缴
  • 公司注销时退还实收资本要交个税吗
  • 营改增账务处理实例
  • 法人借给公司钱怎么写情况说明
  • 公司员工住宿费标准
  • 外币报表折算差额会计分录
  • 无形资产摊销能加计扣除吗
  • 建筑工程合同中社保基金保证金
  • 结转销售成本怎么操作
  • Mysql 5.7.19 winx64 ZIP Archive 安装及使用过程问题小结
  • linux怎么禁用防火墙
  • centos设置hostname
  • putty连接ubuntu
  • linux svn管理工具
  • Extjs中通过Tree加载右侧TabPanel具体实现
  • jQuery使用ajax方法解析返回的json数据功能示例
  • python 3.5下xadmin的使用及修复源码bug
  • javascript开发app教程
  • python模拟登陆并抓取
  • unityui渲染顺序
  • listview
  • 一个绿色
  • jquery1
  • 税务投诉回访电话号码
  • 广东税务社保缴费查询
  • 企业资金运转资金投放
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号