大家好,今天小编来为大家解答smarty这个问题,SmartHalo很多人还不知道,现在让我们一起来看看吧!

smarty 模板是怎么回事干什么用的

,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同美工分离,使程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。 Smarty优点1.速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。 2.编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下) 3.缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。 4.插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。 5.模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。

smarty,SmartHalo

为什么使用smarty

Smarty是一个php模板引擎。更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法。可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下,他们不可能是同一个人。例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现。在Smarty的程序里,这些被忽略了。模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等)。有一天程序员想要改变文章检索的方式(也就是程序逻辑的改变)。这个改变不影响模板设计者,内容仍将准确的输出到模板。同样的,哪天美工吃多了想要完全重做界面,也不会影响到程序逻辑。因此,程序员可以改变逻辑而不需要重新构建模板,模板设计者可以改变模板而不影响到逻辑。

现在简短的说一下什么是smarty不做的。smarty不尝试将逻辑完全和模板分开。如果逻辑程序严格的用于页面表现,那么它在模板里不会出现问题。有个建议:让应用程序逻辑远离模板,页面表现逻辑远离应用程序逻辑。这将在以后使内容更容易管理,程序更容易升级。

Smaty的一些特点:

It is extremely fast.

非常非常的快!

smarty,SmartHalo

It is efficient since the PHP parser does the dirty work.

用php分析器干这个苦差事是有效的

No template parsing overhead, only compiles once.

不需要多余的模板语法解析,仅仅是编译一次

It is smart about recompiling only the template files that have changed.

仅对修改过的模板文件进行重新编译

You can make custom functions and custom variable modifiers, so the template language is extremely extensible.

可以编辑'自定义函数'和自定义'变量',因此这种模板语言完全可以扩展

Configurable template delimiter tag syntax, so you can use{},{{}},<!--{}-->, etc.

可以自行设置模板定界符,所以你可以使用{},{{}},<!--{}-->,等等

The if/elseif/else/endif constructs are passed to the PHP parser, so the{if...} expression syntax can be as simple or as complex as you like.

诸如 if/elseif/else/endif语句可以被传递到php语法解析器,所以{if...}表达式是简单的或者是复合的,随你喜欢啦

Unlimited nesting of sections, ifs, etc. allowed.

如果允许的话,section之间可以无限嵌套

It is possible to embed PHP code right in your template files, although this may not be needed(nor recommended) since the engine is so customizable.

引擎是可以定制的.可以内嵌php代码到你的模板文件中,虽然这可能并不需要(不推荐)

Built-in caching support

内建缓存支持

Arbitrary template sources

独立模板文件

Custom cache handling functions

可自定义缓存处理函数

Plugin architecture

插件体系结构

求大神 解释smarty和thinkphp的区别

====ThinkPHP是mvc框架主要用于后台语言开发

====Smarty是模板引擎用于前台模板更改

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

Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

smarty和symfony是一个意思吗

smarty和symfony是完全不同的。

smarty是一个模板引擎,是为了方便php代码把php业务逻辑和html代码分离开,简单地说,就是避免在你的php代码里混合html标签,实现业务逻辑和模板的分离。

symfony是一个开源的PHP Web框架。基于最佳Web开发实践,已经有多个网站完全采用此框架开发,symfony的目的是加速Web应用的创建与维护,和Zend Framework差不多,只不过比Zend Framework更轻量级