Get Smarty

Donate

Donate Bitcoin Bitcoin
Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap eyeglasses from Cheapglasses123.com and save up to 80%.

Buy prescription glasses from www.australiaglasses.com and save.

Cheap Glasses Now On Sale at GlassesPeople.com. Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Brautkleider auf Topwedding.de

Find free files to download on allwhatyouwant.net

Looking For Affordable Wedding Dresses 2015 at Best Prices On TDBridal.com

Shop high quality cheap prom dresses on Dresswe.co.uk

Buy New Arrival Cheap Prom Dresses 2015 at JDBRIDAL Prom Dress Store

Advertisement

Chapter 1. Smarty是什么?

Smarty是一个PHP的模�引擎。更明确�说,它�以帮助开�者更好地 分离程�逻辑和页�显示。最好的例�,是当程�员和模�设计师是��的两个角色的情况,而且 大部分时候都�是�一个人的情况。

举个例�,现在你�制作一个页��显示新闻内容。

  • 文章内有$headline, $tagline, $author å’Œ $bodyç­‰å�„部分内容, 这些内容没有包括它们如何被显示的信æ�¯ã€‚ 程åº�将它们传递给Smarty。

  • ç„¶å�Žï¼Œæ¨¡æ�¿è®¾è®¡å¸ˆç¼–辑模æ�¿ï¼Œä½¿ç”¨HTML标签和 模æ�¿æ ‡ç­¾ï¼Œæ�¥å¯¹è¿™äº›å†…容进行排版显示, 如表格ã€�DIVã€�背景颜色ã€�字体大å°�ã€�æ ·å¼�表ã€�SVG等等。

  • 当有一天,程åº�员需è¦�改å�˜æ–‡ç« æ•°æ�®å†…容的获å�–æ–¹å¼�,也就是修改程åº�逻辑。 那么这个改å�˜ä¸�会影å“�到模æ�¿è®¾è®¡å¸ˆçš„工作,内容还是会传递到模æ�¿ã€‚

  • å�Œæ ·çš„,如果模æ�¿è®¾è®¡å¸ˆæƒ³è¦�完全é‡�新设计模æ�¿ï¼Œä¹Ÿå�¯ä»¥å�šåˆ°å®Œå…¨ä¸�需è¦�修改程åº�逻辑。

  • 所以,程åº�员å�¯ä»¥æ”¹å�˜ç¨‹åº�逻辑,而ä¸�需è¦�调整模æ�¿é¡µé�¢ï¼› 模æ�¿è®¾è®¡å¸ˆä¹Ÿå�¯ä»¥ä¿®æ”¹æ¨¡æ�¿ï¼Œè€Œä¸�会打断程åº�逻辑。

业务逻辑和显示逻辑分离,是Smarty的一个设计�念。

  • è¿™æ„�味ç�€æ¨¡æ�¿å�¯ä»¥åŒ…å�«éƒ¨åˆ†ä»…作为显示用的逻辑代ç �。 这些显示逻辑如:包å�« 其他模æ�¿ï¼Œäº¤æ›¿è®¾ç½®è¡¨æ ¼æ¯�行的颜色, 把å�˜é‡�转为 大写字æ¯�, 循环é��历数组并 显示出æ�¥ã€‚

  • Smarty也ä¸�是无论如何也强制分离业务和显示逻辑。毕竟Smarty 无法知é�“è°�是è°�,所以,会ä¸�会把业务逻辑放到模æ�¿ä¹Ÿæ˜¯çœ‹ä½ æ€Žä¹ˆå¤„ç�†ã€‚

  • å�Œæ—¶ï¼Œå¦‚果你希望在你的模æ�¿é‡Œæ²¡æœ‰ä»»ä½•的逻辑代ç �,你也å�¯ä»¥ 把模æ�¿å†™æˆ�仅剩下文字和å�˜é‡�。

Smarty的一些特性:

  • é�žå¸¸å¿«é€Ÿã€‚

  • 比PHP内嵌到HTML中的å�𿳕è¦�有效率的多。

  • 无模æ�¿è§£æž�的开销,å�ªç¼–译一次。

  • 仅当模æ�¿æ–‡ä»¶è¢«ä¿®æ”¹å�Žæ‰�会è�ªæ˜Žåœ°é‡�新编译。

  • ä½ å�¯ä»¥å¾ˆå®¹æ˜“创建自己的函数 å’Œ å�˜é‡�修饰器,é�žå¸¸å…·æœ‰å�¯æ‰©å±•性。

  • å�¯é…�置的模æ�¿å®šç•Œç¬¦è¯­æ³•{delimiter}, ä½ å�¯ä»¥ä½¿ç”¨{$foo}, {{$foo}}, <!--{$foo}-->等等。

  • æ�¡ä»¶åˆ¤æ–­è¯­å�¥ {if}..{elseif}..{else}..{/if} 会直接使用PHPè§£æž�,所以{if...}å�Žå�¯ä»¥æ˜¯ç®€å�•或者较å¤�æ�‚的表达å¼�。

  • 支æŒ�æ— é™�çš„ sections, if等的嵌套。

  • 内置缓存支æŒ�。

  • ä»»æ„�的模æ�¿æº�。

  • 模æ�¿ç»§æ‰¿ å�¯ä»¥è½»æ�¾ç®¡ç�†æ¨¡æ�¿å’Œå†…容。

  • æ�’ä»¶ 架构。

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 10 plus 19? (Are you human?)

Advertisement