代码之家  ›  专栏  ›  技术社区  ›  Adam Ramadhan

php中的常量vs属性?

php
  •  4
  • Adam Ramadhan  · 技术社区  · 16 年前

    class MyClass
    {
        const constant = 'constant value';
    
        function showConstant() {
            echo  self::constant . "\n";
        }
    }
    
    class MyClass
    {
        public $constant = 'constant value';
    
        function showConstant() {
            echo  $this->constant . "\n";
        }
    }
    

    主要区别是什么?这和定义变量是一样的,不是吗?

    3 回复  |  直到 13 年前
        1
  •  9
  •   NikiC    16 年前

    常量是常量(哇,谁会想到这个?)是的 不 需要类实例。这样,你就可以写作了 MyClass::CONSTANT PDO::FETCH_ASSOC . 另一方面,属性需要一个类,因此需要编写 $obj = new MyClass; $obj->constant .

    MyClass::$constant ). 这里的区别是 可能会改变,但是 可能不会。)

        2
  •  2
  •   Hamid Nazari diptia    16 年前

    通过定义 const 在类中,您可以确保它不会被有意或无意地更改。

        3
  •  -1
  •   hanse    16 年前

    $myClass->constant = "some other value" (假设$myClass是myClass的一个实例)在后一个示例中,则该值不再是常量。这就是区别。常数的值不能改变,因为。。。它是恒定的。

    推荐文章