2011-12-20 3 views
2

Как и в C++ возможно ли инициализировать константу класса в конструкторе?Инициализация константы класса в конструкторе в PHP

Подобно C++, было бы выглядеть следующим образом:

class Abc 
{ 
    const WIDTH; 

    public __constructor($width):WIDTH($width) //WIDTH gets assigned here and is immutable 
    { 
     //I know syntax may not be ok but is anything similar possible in PHP? 
    } 

} 

ответ

5

Нет, это не возможно в PHP. Значение константы должно определяться при определении константы и должно быть постоянным выражением.

Не рекомендуется: Конечно, если установлен runkit, вы можете использовать runkit_constant_add():

public function __construct($width) 
{ 
    runkit_constant_add(__CLASS__ . '::WIDTH', $width); 
} 
Смежные вопросы