我在codepad.org中尝试了以下代码:
class test {
const TEST = 'testing 123';
function test () {
$testing = 'TEST';
echo self::$testing;
}
}
$class = new test;它回来的时候:
1
2 Fatal error: Access to undeclared static property: test::$testing on line 6我想知道使用变量引用类常量是否会在我的服务器上工作,因为我的服务器运行的是php 5.2.9,而codepad则使用5.2.5。PHP的每个版本在类变量中有什么变化?
发布于 2009-02-12 01:55:21
范围解析操作符(也称为Paamayim Nekudotayim)或简单地说是双冒号,它是一个令牌,允许访问类的静态、常量和重写的成员或方法。
函数测试($testing)中定义的变量不是静态或常量,因此范围解析操作符不适用。
class test {
const TEST = 'testing 123';
function test () {
$testing = 'TEST';
echo $testing;
}
}
$class = new test;或者只访问类之外的常量:
test::TEST;如果正确使用,它应该可以在您的服务器上工作。对于从PHP4到PHP5的OOP更改,php文档可能是有用的。虽然我认为PHP5 5与类变量相关的主要变化是它们的可见性、静态的和常量。所有这些都包含在所提供的文档链接中。
https://stackoverflow.com/questions/539677
复制相似问题