Я заметил, что вы не можете иметь абстрактные константы в PHP. Есть ли способ заставить дочерний класс определять константу (которую мне нужно использовать в одном из внутренних методов абстрактного класса)?
Интерфейсы PHP позволяют определять константы в интерфейсе, например interface FooBar { const FOO = 1; const BAR = 2; } echo FooBar::FOO; // 1 Любой класс реализации автоматически будет иметь эти константы, например class MyFooBar implement FooBar { } echo MyFooBar::FOO; // 1 Мое собственное мнение об этом заключается в том, что все Глобальное злом […]
Я перехожу через исходный код CodeIgniter с Xdebug в NetBeans, и я ищу способ увидеть определенные константы по мере их определения. Если это невозможно, есть ли другие способы отображения всех определенных констант?
Можно ли переопределить константу в php, которая была определена функцией define ? У меня есть класс с несколькими константами, который содержит данные пользователя. Я пытаюсь использовать этот класс для нескольких пользователей. define('ALLEGRO_ID', 'id'); define('ALLEGRO_LOGIN', 'login'); define('ALLEGRO_PASSWORD', 'passwd'); define('ALLEGRO_KEY', 'key'); define('ALLEGRO_COUNTRY', 123); $allegro = new AllegroWebAPI( ); $allegro -> Login(); Я не писал этот класс, но […]
Предполагая, что у вас есть константа, определенная в классе: class Foo { const ERR_SOME_CONST = 6001; function bar() { $x = 6001; // need to get 'ERR_SOME_CONST' } } Возможно ли это с помощью PHP?
Каков наилучший способ определения константы, которая является глобальной, т.е. должна быть доступна во всех файлах на PHP. благодаря ОБНОВЛЕНИЕ: Каковы различия между константами и константами класса, можно ли их использовать взаимозаменяемо?
Я определил константу в PHP, например define('CONSTANT_NAME', 'constant_value'); Я хочу иметь возможность изменить значение этой константы позже в коде. Это можно сделать? Если да, то как?
PHP пишет эту ошибку в журналах: «Примечание: использование неопределенной константы». Ошибка в журналах: PHP Notice: Use of undefined constant department – assumed 'department' (line 5) PHP Notice: Use of undefined constant name – assumed 'name' (line 6) PHP Notice: Use of undefined constant email – assumed 'email' (line 7) PHP Notice: Use of undefined constant […]
Это не удалось: define('DEFAULT_ROLES', array('guy', 'development team')); По-видимому, константы не могут содержать массивы. Каков наилучший способ обойти это? define('DEFAULT_ROLES', 'guy|development team'); //… $default = explode('|', DEFAULT_ROLES); Это кажется ненужным усилием.
Довольно простой вопрос: на PHP, когда вы используете define('FOO', 1); и когда вы используете const FOO = 1; Каковы основные различия между этими двумя?