首页  >  问答  >  正文

一个关于thinkphp模板常量的问题。

手册里说:默认情况下,模板替换只会替换模板文件的特殊字符串,不会替换动态数据中的输出的内容。

可是我在php文件中打印__SELF__这个模板常量竟然可以,这是为什么?不是很明白这个原理。。

<?php 
public function add(){
        var_dump(__SELF__); //输出string '/Home/Order/add.html' (length=20)
}
?>
PHP中文网PHP中文网2721 天前323

全部回复(4)我来回复

  • 巴扎黑

    巴扎黑2017-04-11 10:18:09

    这样当然可以打印了。有什么不明白的

    回复
    0
  • 高洛峰

    高洛峰2017-04-11 10:18:09

    这里的__self__是作为魔法常量了。你试下打印__public__你看你能打印出东西来不

    回复
    0
  • 怪我咯

    怪我咯2017-04-11 10:18:09

    TP好像没有屏蔽掉__self__魔法常量吧,那就可以打印啊

    回复
    0
  • PHP中文网

    PHP中文网2017-04-11 10:18:09

    PHP的变量好像两种,一种有$,一种没有$,通过defined('_PHP_FILE_','aaa'),来声明赋值,其这两种变量类似。

    回复
    0
  • 取消回复