手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表查看gouki的文章

smarty中的注释

写代码的时候不可避免的会使用到注释。大多数的情况下,我们都是使用<!-- 这里是注释 -->,因为这是HTML自带的注释功能,在这里的代码都不会被显示到浏览器。

然而,使用了smarty之类,我们确实不是很建议这样使用,因为,在<!---->标记里的smarty代码其实还是被解析了,如果是这样的话,那么,我们其实是多做了很多事情,却没有被显示出来,那就是说,我们其实多做了很多无用功。

因此,我们在使用smarty模版的时候,应该根据smarty的规范来。让我们看看手册怎么说:


 所有例子中,我们假定你使用缺省的分隔符。Smarty中,所有在分隔符之外的内容被显示为静态内容,或者说不会被改变。一旦Smarty遇见分隔符,它将尝试解释它们,然后在其位置处显示合适的内容。

注释

    模板注释由星号包围,继而由分隔符包围,型如:{* 这是一个注释 *}。Smarty注释不会在最终模板的输出中显示,这点和<!-- HTML comments -->不同。前者对于在模板中插入内部注释有用,因为没有人能看到。;-)

 

模版中的注释
  1. {* 这是Smarty注释,不出现在编译后的输出中 *}  
  2. <html>  
  3. <head>  
  4. <title>{$title}</title>  
  5. </head>  
  6. <body>  
  7.   
  8. {* 另一个单行Smarty注释 *}  
  9. <!-- HTML注释将发送到浏览器 -->  
  10.   
  11. {* 这是一个多行  
  12.    Smarty注释  
  13.    并不发送到浏览器  
  14. *}  
  15.   
  16. {*********************************************************  
  17. 多行注释块,包含了版权信息  
  18.   @ author:         bg@example.com  
  19.   @ maintainer:     support@example.com  
  20.   @ para:           var that sets block style  
  21.   @ css:            the style output  
  22. **********************************************************}  
  23.   
  24. {* 包含了主LOGO和其他东西的头文件 *}  
  25. {include file='header.tpl'}  
  26.   
  27.   
  28. {* 开发注解:$includeFile变量在foo.php脚本中赋值 *}  
  29. <!-- 显示主内容块 -->  
  30. {include file=$includeFile}  
  31.   
  32. {* 该<select>块是多余的 *}  
  33. {*  
  34. <select name="company">  
  35.   {html_options options=$vals selected=$selected_id}  
  36. </select>  
  37. *}  
  38.   
  39. {* 模板的cvs标记。下面的36应该是美元符号。  
  40. 但是在CVS中被转换了。 *}  
  41. {* &#36;Id: Exp &#36; *}  
  42. {* $Id: *}  
  43. </body>  
  44. </html>  

 

Tags: smarty, 注释

smarty中的变量使用

smarty中的变量和平时使用有点区别,比如$aa.bb其实代表的是$aa['bb'],具体如何个使用法,其实在手册里已经有详细说明了

    Smarty可以识别嵌入在双引号中赋值变量,只要变量名只包含数字,字母,下划线和方括号[](参见命名)。如果有其它字符(如句点,对象引用等),变量必须由反引号对`backticks`包含。你不可以嵌入修饰符,它们必须永远在引号之外使用。

实际使用中应该是这样的:

语法例子:
{func var="test $foo test"} <-- 使用$foo
{func var="test $foo_bar test"} <-- 使用$foo_bar
{func var="test $foo[0] test"} <-- 使用$foo[0]
{func var="test $foo[bar] test"} <-- 使用$foo[bar]
{func var="test $foo.bar test"} <-- 使用$foo(不是$foo.bar)
{func var="test `$foo.bar` test"} <-- 使用$foo.bar

{func var="test `$foo.bar` test"|escape} <-- 修饰符在引号外!

实际例子:
{include file="subdir/$tpl_name.tpl"} <-- 将以实际值替换$tpl_name
{cycle values="one,two,`$smarty.config.myval`"} <-- 必须有反引号!

看清楚哦。平时在使用的时候应该是感觉不出问题的,只有用在函数、循环里面,这才会成为使用中的问题。

Tags: smarty, 变量

一个程序员的13口决!

看到这段,觉得有理。。。记录下来,实在不知道原作者是谁。。。。

一个程序员的13口决!
1、编程就像吃饭,不可能一口变成胖子。
2、还没练几天就想要高工资,不如去批发白菜好了。
3、程序员也民工,不觉得自己太高尚。
4、你的代码永远存在可优化的可能,所以有空要回头再看看。
5、编程时要永远开着记事本,测试数据,测试方法,搜到的代码等等要常放进去,存起来以备不时之需。
6、不要再回忆你的代码有多牛B,第二天早上别人的代码就可把你的程序替换了。
7、每一天都不是糟糕的,更糟的还在后面。
8、整理你的代码,文档,思维方式,以及行为方式。
9、第一次看到时千万别说你已经理解了。。。未来的变数还很大。
10、任何事物都是由简单开始,并最终回归简单。只是层次不同了而已。
11、首先感谢自己,然后再谢别人。还要感谢人民政府给你提供了就业机会。
12、永远都知道自己当前该做什么。
13、理解正念,并认真执行。

Tags: 口决, 程序员

成语新解

1.知书达礼:仅知道书本知识是不够的,还要学会送礼;
2.度日如年:日子非常好过,每天像过年一样;
3.杯水车薪:每天办公室喝喝茶,月底可以拿到一车工资;
4.知足常乐:知道有人请自己洗脚,心里就感到快乐;
5.见异思迁:看见漂亮的异性就想搬到她那里去住;
6.语重心长:别人话讲得重了,心里怀恨很长时间;
7.有机可乘:出门考察有飞机可以乘坐;
8.不学无术:不要白费工夫学那些不实用的东西;
9.夫唱妇随:丈夫进了歌厅,妻子跟踪尾随。

Tags: 文学, 成语

好不要脸的说明

国内很多软件开发在叫嚣着开源,但,有几个是真正做到的?最初的discuz,直到现在还是有一些目录是加密的,主要是一些API,现在又看到不少自称是开源的。请你们扪心自问,你们做到了吗?
虽然国内开发人员的素质参差不齐,但靠欺骗的手段来达到听引人的目录,你们对得起自己的良心吗??
什么是开源???看看吧。。。
开放源代码并不仅仅意味着对源代码的访问权。开放源代码软件的发布条款必须满足以下条件:

1. 自由地再发布

如果被发布的软件是由不同来源的程序组成的,许可证不得限制任何当事人或组织(party)销售或赠送作为被发布软件成分之一的开放源码软件。

许可证不得从此项销售中索取使用费或其它任何费用。(理由)

2. 源代码

程序必须包括源代码,必须允许以源代码方式发布、还必须允许以编译后的形式发布。如果产品的某个部分没有与源代码一同发布,那么必须提供通行的、不需要支 付合理范围之外的任何费用的手段以获得源代码---从网络上免费下载是一种可取的方式。源代码必须是程序员对其进行修改的最佳形式。故意地使源代码变得含 混晦涩是不允许的。也不允许给出预处理器或翻译器处理的中间结果。(理由)

3. 派生作品

许可证必须允许修改软件和派生软件,并且必须允许它们按照原软件的许可证的条款进行发布。(理由)

4. 作者的源代码的完整性

只有在许可证允许与源代码一同发布"补丁文件"(该"补丁文件"以在创建时对程序进行修改为目的)时,许可证才能限制对修改形式的源代码的发布。许可证必 须明确地允许发布由修改后的源代码生成的程序。许可证可以要求派生的作品采用不同的名称或不同的版本号以区别于原来的软件。(理由)

5. 不得歧视任何个人或团体

许可证不得歧视任何个人或者由多人组成的团体。(理由)

6. 不得歧视任何应用领域(fields of endeavor)

许可证不得限制任何人把程序应用于任何领域。例如,不得规定程序不能应用于商业领域或基因研究领域。(理由)

7. 许可证的发布

与程序有关的权利必须适用于该程序的任何使用者,并且程序的使用者也不需要为了使用该程序而获得其它许可证的许可。(理由)

8. 许可证不能针对于一个产品

与程序有关的权利不能由该程序是否作为某个软件产品的一部分来决定。如果程序从那个发布中被抽出来,并且按照程序的许可证的条款进行使用和发布,那么得到该程序的当事人或组织将获得与得到原程序的使用者相同的权利。(理由)

9. 许可证不能影响其它软件

许可证不得向与采用它的软件一同发布的其它软件提出任何限制。例如,许可证不能坚持要求在同一媒体上发布的其它程序都是开放源代码软件。(理由)

» 阅读全文

Tags: php, shopnc, 开源