Я хочу, чтобы мои определенные константы находились внутри области моего плагина Wordpress, поскольку я чувствую, что плагин не должен заполнять глобальное пространство имен, если это необходимо.Сохранение констант внутри пространства имен
У меня есть структура, как:
namespace pluginname;
namespace pluginname\setup;
namespace pluginname\helpers;
etc...
Я пытался делать:
define('pluginname\var', 'foo');
, а затем в дочерних пространствах имен делают:
use pluginname;
Но это не приносит постоянная в объем. Это правильный подход, но неправильный синтаксис или наоборот?
Следует ли вместо этого создать класс статического определения? Я исхожу из .NET background и немного запутался с реализацией пространства имен и областью видимости PHP.
Какой предпочтительный подход?
Все в PHP очень хорошо документированы. Существует FAQ: http://php.net/manual/en/language.namespaces.faq.php#language.namespaces.faq.nofuncconstantuse и http://php.net/manual/en/language.namespaces.faq .php # language.namespaces.faq.innamespace – Marc
Цитирование из [Документов PHP] (http://php.net/manual/en/language.namespaces.faq.php#language.namespaces.faq.innamespace): 'Внутри строка с кавычками, обратная косая обратная последовательность намного безопаснее использовать, но по-прежнему рекомендуется избегать обратных косых черт во всех строках в качестве лучшей практики. ' –
@Marc Я прочитал ее, но мне это непонятно. Использует ли константа из другого пространства имен, поддерживаемого только в 5.6? Должен ли я расширять класс с защищенными свойствами? – Guerrilla