我有类似的东西
define("__ROOT_PATH__", "http://{$_SERVER['HTTP_HOST']}/admin");
Run Code Online (Sandbox Code Playgroud)
在课堂上.我如何从函数中调用它是否带有cologn?我尝试在谷歌上查找但没有.
谢谢
sou*_*rge 11
该函数define()适用于全局常量,因此您只需使用该字符串__ROOT_PATH__(我建议使用另一种命名方案.以PHP为其魔术常量保留以两个下划线开头的常量)
define('__ROOT_PATH__', 'Constant String');
echo __ROOT_PATH__;
Run Code Online (Sandbox Code Playgroud)
如果要声明类常量,请使用const关键字:
class Test {
const ROOT_PATH = 'Constant string';
}
echo Test::ROOT_PATH;
Run Code Online (Sandbox Code Playgroud)
但是有一个问题:在解析脚本时会评估类常量,因此您不能在这些常量中使用其他变量(因此您的示例将不起作用).使用define()作品,因为它被视为任何其他函数,并且可以动态定义常量值.
编辑:
正如PCheese指出的那样,您可以使用关键字访问类常量self,而不是类中的类名:
class Test {
const ROOT_PATH = 'Constant string';
public function foo() {
echo self::ROOT_PATH;
}
}
# You must use the class' name outside its scope:
echo Test::ROOT_PATH;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |