PHP函数中的只读变量?

时间:2016-01-09 13:39:53

标签: php

如何在PHP函数中创建常量变量,就像使用C ++ const 关键字一样?

const int t = 10;
a = 11; // compile error

可能需要提高可读性而不会使其容易出错。例如,当需要一个长命名对象属性的快捷方式时,所以他为此创建一个变量,而另一个在函数中间修改了这个变量,因此它们会出错。

2 个答案:

答案 0 :(得分:5)

类常量:

class MyClass
{
    const CONSTANT = 'constant value';

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

通常:

define("const_name", "const_value");
echo const_name;

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

http://php.net/manual/en/function.constant.php

答案 1 :(得分:0)

我们可以为该属性定义一个闭包访问器。

function f(ComplexObject $object)
{
    $innerName = function() use($object) {
        return $object->innerObject->attributes->name;
    }

    /**
    *  All places that use $object->innerObject->attributes->name
    *  can address is as $innerName()
    */

}

注意:函数调用有一些成本,但可读性和错误保护通常会超过。