15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > PHP模版引擎,框架有什么区别,各有什么用?

PHP模版引擎,框架有什么区别,各有什么用?

时间:2023-12-20 14:36:01 | 来源:网站运营

时间:2023-12-20 14:36:01 来源:网站运营

PHP模版引擎,框架有什么区别,各有什么用?:泻药。

首先,我谷歌了一下“PHP模板引擎”,得到这样一个网页:

序言 | Smarty
两种观点


当PHP出现了模板引擎时,就有了两种观点: 第一种观点是:“PHP本身就是模板引擎”。主张在HTML中内使用简单的PHP代码。 虽然从纯代码运行观点来看,这种主张是速度最快的,但有很大的争议就是内嵌的PHP代码会 使得HTML凌乱并且非常复杂。


另一种观点是页面显示应该是没有程序代码的,转而用简单的标签来显示内容。 这中主张在别的模板引擎(甚至是其他编程语言)是很常见的,而且也是Smarty的观点。 这种方式可以让模板只专注于页面显示,避免混合了程序逻辑代码,更方便管理。


PHP与模板分离的重要性


两个主要是好处:


  • 语法:模板语法通常是更符合HTML标记的语义。PHP语法可以在程序代码中运作的很好, 但如何混合在HTML中就不然。Smarty简单的{标签}语法是为了表达显示逻辑而设计的。 Smarty让你的模板更专注于页面显示,而不用关注太多“代码”。 这可以让模板开发得更快速,维护更容易。 学习Smarty的语法不需要懂得PHP的相关知识,程序员或非程序员都能很快上手。

  • 松耦合:当PHP代码混合在模板中,那将无法约束任意的逻辑代码被写到模板上。 Smarty分隔了模板和PHP,控制了页面显示和业务逻辑的分离。 Smarty还有安全特性,可以令模板源码有强制的约束。


以上,是引用的原文,怕日后死链。我想,这个讲解了 Smarty 开发者认为的模板引擎的好处。以下再引用一段:

Smarty不是什么


Smarty不是一个应用开发框架。Smarty不是一个MVC。Smarty不像Zend Framework, CodeIgniter, PHPCake, 或者其他的PHP应用开发框架。


Smarty是一个模板引擎,在应用程序中,当作V层(视图层)的组件来使用。 Smarty可以很轻易连接到其他的视图引擎中。 和其他的软件技术一样,Smarty也有着学习曲线。 Smarty不一定保证良好的程序设计或者达成显示分离的目的,这还得需要开发者和模板设计师的努力。


可见,模板引擎,不是框架,更像是框架的 “V层”。有框架的一部分作用,但是,不是框架。

在我个人的工程实践中,我从没使用过任何的模板引擎,所以我并无法理解模板引擎的诸多好处。所幸,我使用过框架,主要使用的是 Web 开发框架。

Web 开发框架,我认为显然是可以提高程序员的生产效率的,不管一些极端的人认为它牺牲了什么(诸如“太重”,“性能差”等等幼稚的观点)。

在我个人的认知里,我更愿意称框架为一种领域语言。致力于解决 Web 开发领域的一般性问题而专门提供的开发组件集合,就可以称为是 Web 开发框架了。框架,在语言的上层提供了更加高级的抽象元素,帮助程序员更快速度构建一个完整的业务;框架,固化了很多工程实践领域的最佳实践方案,帮助程序员少走弯路,直接构建出品质上乘的应用;框架,提供了一整套的约定俗成,帮助互相协作的程序员快速理解团队每一个成员的编码意图,从而能够更高效率的协同开发和维护一个应用;现代比较新潮的框架(Yii 2.x 或者 Lavarel 等),除了编码层面,更提供了一整套工程实践的优秀经验,如包管理、代码生成、代码部署方案、数据库迁移方案、Log方案等等,能极大程度解放程序员的生产力。

PS:

各种框架琳琅满目,很多初学者会迷茫,不知选择为何,我觉得大可不必迷茫,因为主流框架都在趋同,所以逮住一个学透即可。学习框架,重点是理解思想和框架特性设计的原因,不要满足于会用,做到了的话,哪怕立刻换一个框架,也没什么大不了的。并无太高切换成本。

关键词:区别,引擎

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭