首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类变量、范围解析运算符和不同版本的PHP

类变量、范围解析运算符和不同版本的PHP
EN

Stack Overflow用户
提问于 2009-02-12 01:45:47
回答 1查看 1.5K关注 0票数 0

我在codepad.org中尝试了以下代码:

代码语言:javascript
复制
class test { 
  const TEST = 'testing 123';
  function test () {
    $testing = 'TEST';
    echo self::$testing;
  }
} 
$class = new test;

它回来的时候:

代码语言:javascript
复制
1
2 Fatal error: Access to undeclared static property:  test::$testing on line 6

我想知道使用变量引用类常量是否会在我的服务器上工作,因为我的服务器运行的是php 5.2.9,而codepad则使用5.2.5。PHP的每个版本在类变量中有什么变化?

EN

回答 1

Stack Overflow用户

发布于 2009-02-12 01:55:21

范围解析操作符(也称为Paamayim Nekudotayim)或简单地说是双冒号,它是一个令牌,允许访问类的静态、常量和重写的成员或方法。

函数测试($testing)中定义的变量不是静态或常量,因此范围解析操作符不适用。

代码语言:javascript
复制
class test { 
  const TEST = 'testing 123';
  function test () {
    $testing = 'TEST';
    echo $testing;
  }
} 

$class = new test;

或者只访问类之外的常量:

代码语言:javascript
复制
test::TEST;

如果正确使用,它应该可以在您的服务器上工作。对于从PHP4到PHP5的OOP更改,php文档可能是有用的。虽然我认为PHP5 5与类变量相关的主要变化是它们的可见性、静态的和常量。所有这些都包含在所提供的文档链接中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/539677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档