php技术博客
让天下没有搞不定的bug~

总结:Thinkphp特殊变量自定义

        Thinkphp模板引擎还支持系统变量和系统常量、以及系统特殊变量的输出。不过一些系统定义的优势不符合我们的要求,比如说调用系统的当前时间的显示格式是这样的:2012-03-09 10:29 am  我想这样显示:2012.03.09 10:29 am  应该怎么办呢? 别急,小涛来告诉你:

      找到框架中的这个目录:ThinkPHP\Lib\Think\Template\ThinkTemplate.class.php 的这个方法:function parseThinkVar 大约682行,根据自己的需求更改就可以了。这里应该改为:

case ‘NOW’:
$parseStr = “date(‘Y.m.d g:i a’,time())”;
break;

附一些常用的系统自带的常量和变量:

1 、系统变量: 包括 server 、 session 、 post 、 get 、 request 、 cookie

{ $Think.server.script_name } // 输出 $_SERVER 变量

{ $Think.session.session_id|md5 } // 输出 $_SESSION 变量

{ $Think.get.pageNumber } // 输出 $_GET 变量

{ $Think.cookie.name } // 输出 $_COOKIE 变量

支持输出 $_SERVER 、 $_ENV 、 $_POST 、 $_GET 、 $_REQUEST 、 $_SESSION 和 $_COOKIE 变量。 后面的 server 、 cookie 、 config 不区分大小写,但是变量区分大小写。例如:

{ $Think.server.script_name } 和 { $Think.SERVER.script_name } 等效

SESSION 、 COOKIE 还支持二维数组的输出,例如:

{ $Think.CONFIG.user.user_name}

{ $Think.session.user.user_name}

系统不支持三维以上的数组输出,请使用下面的方式输出。

以上方式还可以写成:

{ $_SERVER.script_name } // 输出 $_SERVER 变量

{ $_SESSION.session_id|md5 } // 输出 $_SESSION 变量

{ $_GET.pageNumber } // 输出 $_GET 变量

{ $_COOKIE.name } // 输出 $_COOKIE 变量

2 、系统常量 :使用 $Think.const 输出

{ $Think.const.__SELF__ }

{ $Think.const.MODULE_NAME }

或者直接使用

{ $Think.__SELF__ }

{ $Think.MODULE_NAME }

3 、特殊变量 :由 ThinkPHP 系统内部定义的常量

{ $Think.version } // 版本

{ $Think.now } // 现在时间

{ $Think.template|basename } // 模板页面

{ $Think.LDELIM } // 模板标签起始符号

{ $Think.RDELIM } // 模板标签结束符号

4 、配置参数 :输出项目的配置参数值

{ $Think.config.db_charset}

输出的值和 C( ‘db_charset’ ) 的返回结果是一样的。

也可以输出二维的配置参数,例如:

{ $Think.config.user.user_name}

5 、语言变量:输出项目的当前语言定义值

{ $Think.lang.page_error}

输出的值和 L(‘page_error’) 的返回结果是一样的。

技术分享,技术交流,小涛与您共同成长……

赞(0)
未经允许不得转载:PHP技术博客 » 总结:Thinkphp特殊变量自定义