插件窝 干货文章 thinkphp和smarty是什么

thinkphp和smarty是什么

thinkphp 逻辑 框架 模板 278    来源:    2024-10-26
thinkphp是一个开源轻量级php框架,是用来简化企业级应用开发和敏捷web应用开发的;使用thinkphp,开发者可以更方便和快捷的开发和部署应用。smarty是一个php模板引擎,可以更好的帮助开发者分离程序逻辑和页面显示(业务逻辑和显示逻辑分离),使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑。

本教程操作环境:Windows7系统、thinkphp6&&smarty4版、Dell G3电脑。

thinkphp是什么

ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。

最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。

立即学习“PHP免费学习笔记(深入)”;

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。

优点:

1、易于上手,有丰富的中文文档;

2、学习成本低,社区活跃度高;

3、框架的兼容性较强,PHP4和PHP5完全兼容、完全支持UTF8等。

4、 适合用于中小项目的开发。

5、完全符合现代PHP的MVC框架理念;

6、结合了Thinkphp的数据库框架ORM,只要懂TP,用我们这个框架毫无违和感。

缺点:

1、对Ajax的支持不是很好;

2、目录结构混乱,需要花时间整理;

3、上手容易,但是深入学习较难。

smarty是什么

Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。

Smarty可以更好的帮助开发者分离程序逻辑和页面显示,如在前后端分离的项目中,前后端为不同开发人员,那么Smarty便可以做到在互相不影响的情况下完美的实现前后台的协作。并且业务逻辑和显示逻辑分离,是Smarty的一个设计理念。

简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

Smart的一些特性

  • 非常快速。

  • 比PHP内嵌到HTML中的做法要有效率的多。

  • 比PHP内嵌到HTML中的做法要有效率的多。

  • 无模板解析的开销,只编译一次。

  • 仅当模板文件被修改后才会聪明地重新编译。

  • 你可以很容易创建自己的函数和变量修饰器,非常具有可扩展性。

  • 可配置的模板定界符语法{delimiter}, 你可以使用{$foo}, {{$foo}}, 等等。

  • 条件判断语句 {if}..{elseif}..{else}..{/if} 会直接使用PHP解析,所以{if...}后可以是简单或者较复杂的表达式。

  • 支持无限的 sections, if等的嵌套。

  • 内置缓存支持。

  • 任意的模板源。

  • 模板继承 可以轻松管理模板和内容。

【相关教程推荐:thinkphp框架】