RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
PHP模板引擎的原理是什么

本篇内容主要讲解“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中,这个过程就是所谓的编译。

通常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://aqpgk.com/article/ihsche.html">http://aqpgk.com/article/ihsche.html</a>
</div>
<div class="hot_new">
<div class="page_title clearfix">
<h3>其他资讯</h3>
</div>
<div class="news_list clearfix">
<ul>
<li>
<a href="/article/sjgehp.html">打造你的私人美食家品牌,成为社交平台上的美食达人</a>
</li><li>
<a href="/article/sjgejg.html">箭头云主机无法远程连接排查</a>
</li><li>
<a href="/article/sjgepj.html">抖音服装直播代运营怎么样</a>
</li><li>
<a href="/article/sjgepe.html">抖音账号电台直播运营,抖音账号运营中的直播带货特点?</a>
</li><li>
<a href="/article/sjgepd.html">日照短视频运营培训机构</a>
</li></ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 底部信息 -->
<div class="footer wow fadeInUp">
<div class="rowFluid">
<div class="span12">
<div class="container">
<div class="footer_content">
<div class="span4 col-xm-12">
<div class="footer_list">
<div class="span6">
<div class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服务号二维码" /></div>
</div>
<div class="span6 col-xm-12">
<div class="quick_navigation">
<div class="quick_navigation_title">快速导航</div>
<ul>
<li><a href="http://www.kswcd.com/" title="成都企业网站设计" target="_blank">成都企业网站设计</a></li><li><a href="http://seo.cdkjz.cn/mobile/" title="手机网站建设" target="_blank">手机网站建设</a></li><li><a href="http://www.cdxwcx.cn/tuoguan/xiyun.html" title="成都移动托管" target="_blank">成都移动托管</a></li><li><a href="http://www.zklghb.com/" title="昆明空调" target="_blank">昆明空调</a></li><li><a href="http://www.nipksr.com/" title="成都发电机租赁" target="_blank">成都发电机租赁</a></li><li><a href="http://www.yljbyvd.com/" title="昆明乐器" target="_blank">昆明乐器</a></li><li><a href="http://www.fpuhg.com/" title="成都企业注销服务" target="_blank">成都企业注销服务</a></li></ul>
</div>
</div>
</div>
</div>
<div class="span4 col-xm-6 col-xs-12">
<div class="footer_list">
<div class="footer_link">
<div class="footer_link_title">友情链接</div>
<ul id="frientLinks">
<a href="https://www.cdcxhl.com/" title="网站制作" target="_blank">网站制作</a>
<a href="https://www.cdcxhl.com/" title="网站建设" target="_blank">网站建设</a>
<a href="https://www.cdxwcx.com/tuiguang/" title="成都网络推广" target="_blank">网络推广</a>
<a href="http://seo.cdkjz.cn/" title="成都网站推广" target="_blank">网站推广</a>
<a href="https://www.cdcxhl.com/xiaochengx.html" title="成都微信小程序开发" target="_blank">小程序开发</a>
<a href="https://www.cdcxhl.com/menu.html" title="创新互联网站栏目导航" target="_blank">网站导航</a>
</ul>
<div class="footer_link_title">网站建设</div>
<ul id="frientLinks">
<li><a href="/">宜宾勤盛利枫建站</a></li>
<li><a href="https://www.cdcxhl.com/menu.html" title="创新互联网站栏目导航" target="_blank">网站导航</a></li>
</ul>
</div>
</div>
</div>
<div class="span4 col-xm-6 col-xs-12">
<div class="footer_list">
<div class="footer_cotact">
<div class="footer_cotact_title">联系方式</div>
<ul>
<li><span class="footer_cotact_type">企业:</span><span class="footer_cotact_content">四川勤盛利枫机电有限公司   </span></li>
<li><span class="footer_cotact_type">地址:</span><span class="footer_cotact_content">成都市青羊区太升南路288号</span></li>
<li><span class="footer_cotact_type">电话:</span><span class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li>
<li><span class="footer_cotact_type">网址:</span><span class="footer_cotact_content"><a href="/" title="宜宾网站建设">www.aqpgk.com</a></span></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="copyright">
<p>公司名称:四川勤盛利枫机电有限公司   联系电话:18980820575</p>
<p><a href="http://beian.miit.gov.cn" target="_blank" rel="nofollow">网站备案号:蜀ICP备2025168279号-11</a></p>
<p>宜宾勤盛利枫建站 宜宾网站建设 宜宾网站设计 宜宾网站制作 <a href="http://www.cdxwcx.cn/" target="_blank">成都做网站</a></p>
</div>
</div>
</div>
</div>
</body>
</html>
<script>
$(".technical_support_box_z_info_box 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>