1

php:

class MyClass
{
    const CONSTANT = 'constant value';

    function showConstant() {
        echo  self::CONSTANT . "\n";
    }
}

echo MyClass::CONSTANT . "\n"; //this way selects MyClass.

我的问题是我可以选择这个类如下:

echo $this->CONSTANT . "\n"; // I think it's not right way, how could I do?

我想选择当前课程。

我对 php 很陌生,在学习 php 时,我想到了这个问题。所以请原谅我如果我问的是胡说八道的问题。

4

2 回答 2

2

CONST无需实例化类即可访问属性。

CONST也在内存中类的所有实例之间共享。

要访问CONST

ClassName::CONST

或给定变量中引用的类:

$myclassvar::CONST

或在课堂上:

self::CONST

这在这里得到了很好的解释:

http://www.php.net/manual/en/language.oop5.constants.php

<?php
class MyClass
{
    const CONSTANT = 'constant value';

    function showConstant() {
        echo  self::CONSTANT . "\n";
    }
}

echo MyClass::CONSTANT . "\n";

$classname = "MyClass";
echo $classname::CONSTANT . "\n"; // As of PHP 5.3.0

$class = new MyClass();
$class->showConstant();

echo $class::CONSTANT."\n"; // As of PHP 5.3.0
?>
于 2013-08-27T12:15:07.997 回答
0

你可以这样做:

<?php
 $a = new MyClass();
 echo $a::CONSTANT;
?>
于 2013-08-27T12:05:29.497 回答