十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容主要讲解“PHP模板引擎的原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP模板引擎的原理是什么”吧!
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的南开网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
开发一个web项目,通常分为两部分,一部分是GUI,即界面、美工,使用HTML,CSS,JS编写,另一部分则是业务逻辑,即程序、功能,使用PHP编写。而模板引擎则是联系这两部分的“桥梁”,可理解成一个PHP类,里面定义了许多方法,实现了将PHP的原始输出加载上界面样式后再输出。
<?php echo $title; ?>
这样的话美工与逻辑没有分离,简单的说就是PHP程序员不仅要写程序还要精通美工,这往往十分困难,因此需要将这两部分工作分开。
在此通过自己创建一个简单的模板引擎为例子,更好的体会模板引擎的原理。
之前说了开发一个web项目分成GUI与业务逻辑两部分,因此我们创建两个文件夹,一个命名为“templates”,里边存放模板,新建一个tpl.html文件,另一个命名为“PHP”,里边存放业务逻辑,新建一个index.php文件。
tpl.html文件代码通常是这样:
<{$title}> <{ $content;}>
可以看出来,和之前的代码相比,tpl.html中只有html代码,没有php代码,但是增加了新的标签,这类标签是自己定义的,里面的内容只有经过模板引擎编译后才能被识别,编译后的文件存放在“templates_c”文件夹下。这个文件主要是界面设计用的,将大量使用到CSS,JS等技术。
这时候tpl.html和index.php仍旧是分离的,互不干扰,因此需要一个“桥梁”连接,即模板引擎,其实就是一个PHP类,故在此可以创建一个mytpl.class.php的PHP文件。
mytpl.class.php文件通常定义一个类MyTpl,类中需定义一个数组tpl_var[]用于存放tpl.html中自定义内容标签的参数,此外还需定义一些方法,这些方法最主要的目的是将tpl.hml中无法识别的的内容标签转换成PHP语句,然后再写到一个“templates_c”文件夹下的tpl_c.html中,这个过程就是所谓的编译。
<?php echo $this->tpl_var[“title”]; ?></head> <body><?php echo $this->tpl_var[“content”]; ?}></body> </html></pre><p>可以看出上面的代码是可以被识别的,因为自定义的内容标签已经被替换成PHP语句了,但是title和content的值是多少我们还不得而知,这时候之前创建的index.php要上场了.</p><h4>index.php通常它代码是这样的:</h4><pre>include “tpl.class.php文件”;//加载模板引擎 $tpl = new MyTpl();//实例化一个模板类 $title = “标题”; $content = “内容”; $tpl->assign(“title”,$title);//调用模板类中的方法,分配变量 $tpl->assign(“content”,$content); $tpl->display(“tpl.html”);//调用模板类中的方法,用于显示编译后的内容</pre><p>上面的代码只是一些简单的描述代码,其中的变量的值可以是直接定义的也可以是从数据库中获取的,此外该文件还可以编写一些复杂的PHP程序,这也就是之前说的业务逻辑。</p><p>这样GUI和业务逻辑的工作就分离了,美工设计人员只需要编写模板文件就可以改变web的界面,而PHP程序员则可以专心编写自己的程序。</p><p>公司内部一般都有自己的模板引擎,而通常模板引擎自己写的话完全没有必要,因为市面上已经有一些很成熟的模板引擎了,比如Smarty,我们只需要懂得如何使用它就好了。</p><p>到此,相信大家对“PHP模板引擎的原理是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!</p> <br> 名称栏目:PHP模板引擎的原理是什么 <br> 分享链接:<a href="http://www.zsjierui.cn/article/ihsche.html">http://www.zsjierui.cn/article/ihsche.html</a> </div> </div> <div class="other"> <h3>其他资讯</h3> <ul> <li> <a href="/article/epcpps.html">aliyunlinux怎么样</a> </li><li> <a href="/article/epcheg.html">如何快速写一个网站</a> </li><li> <a href="/article/epchdd.html">设置改图标,如何改桌面图标</a> </li><li> <a href="/article/epchsh.html">oa申请什么意思,oa审批流程是什么意思</a> </li><li> <a href="/article/epchei.html">为什么我的网页打不开,有网为什么打不开网页</a> </li> </ul> </div> </div> <footer> <div class="message"> <div class="mess container"> <p>免费获取网站建设与品牌策划方案报价</p> <span>*主要业务范围包括:高端网站建设, 集团网站建设(网站建设网站制作)找网站建设公司就上美图齐众。</span> <form action=""> <input type="text" class="ipt1" placeholder="联系人"> <input type="text" class="ipt2" placeholder="联系电话"> <textarea name="" id="" placeholder="内容描述:描述您的需求,如网站、微信、电商、APP等。"></textarea> <a href="">提交需求</a> </form> </div> </div> <div class="footA"> <div class="footAs container"> <ul> <h3>联系我们</h3> <b>028-86922220</b> <li>手机:13518219792</li> <li>地址:成都市太升南路288号锦天国际A幢1002号</li> <li class="hr1"></li> <li>24小时服务热线:028-86922220</li> </ul> <ul> <h3>网站建设服务</h3> <li>网页设计</li> <li>网站制作</li> <li>网站开发</li> </ul> <ul> <h3>网站推广服务</h3> <li>营销网站建设</li> <li>百度快速排名</li> <li>整站网站推广</li> </ul> <ul> <h3>网站运维服务</h3> <li>基础维护</li> <li>网站改版</li> <li>网站维护</li> </ul> <ul> <h3>FOLLOW US</h3> <li class="hr2"></li> <li> <dd class="fl"><img src="/Public/Home/img/ewm.png" alt=""><p>微信二维码</p></dd> <dd class="fr"><img src="/Public/Home/img/ewm.png" alt=""><p>微信二维码</p></dd> </li> </ul> </div> <div class="link container"> 友情链接: <a href="http://www.cdweb.net/solve/" title="网站建设方案" target="_blank">网站建设方案</a> <a href="http://www.scbrznjsb.com/" title="配电设备监测" target="_blank">配电设备监测</a> <a href="http://www.sczjjy.com/" title="四川中建建业" target="_blank">四川中建建业</a> <a href="http://www.skart.cn/" title="四川艺考培训" target="_blank">四川艺考培训</a> <a href="http://www.cxhljz.cn/wechat/" title="微信公众号开发" target="_blank">微信公众号开发</a> <a href="http://www.nzjike.cn/" title="定制广告伞" target="_blank">定制广告伞</a> <a href="http://www.cdxwcx.cn/tuoguan/xiyun.html" title="成都移动服务器托管" target="_blank">成都移动服务器托管</a> <a href="http://www.scyingshan.cn/" title="scyingshan.cn" target="_blank">scyingshan.cn</a> <a href="http://www.cdgsczgs.com/" title="产品认证" target="_blank">产品认证</a> <a href="https://www.cdxwcx.com/" title="成都网站设计公司" target="_blank">成都网站设计公司</a> </div> </div> <div class="footB"> <div class="container"> <div class="fl"> Copyright © 2025 资阳站青羊区美图齐众设计工作室(个体工商户) 资阳网站建设公司-选网站建设公司美图齐众!专业的网站制作公司! </div> <div class="fr"> All Rights Reserved 版权所有 <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2025119604号-1</a> </div> </div> </div> </footer> </body> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //获取图片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //绝对路径 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>