Articles of пространства имен

В объявлениях пространства имен внутри включенных файлов автоматически входит пространство имен родительского файла (PHP)?

Должен быть простой вопрос. У меня еще нет 5.3, поэтому я не могу экспериментировать сам. При объявлении пространства имен во включенном файле, нужно ли объявлять полный путь пространства имен или это родительское пространство имен, которое предположительно предполагается включенным? Например, если у меня есть файл: // file1.php <?php namespace parent_space; include 'file2.php'; ?> и второй файл: […]

Пространства имен PHP – поднимайтесь на уровень?

Example1: пространство имен Inori \ Test; class MainTest {} Example2: пространство имен Inori \ Test \ SubTest; класс SubTest расширяет ???? {} Вопрос: есть ли способ быстро подняться на уровень в пространстве имен, чтобы SubTest мог расширить MainTest? что-то вроде "../MainTest" ? Или я застрял в \Inori\Test\MainTest ?

использовать «глобальное пространство имен»;

Мне просто интересно, есть ли способ заставить класс вести себя так, как если бы он находился в глобальном пространстве имен, используя ключевое слово «use», поэтому этот класс будет вести себя как класс с именами только вне класса. Что-то вроде: namespace wherever\somewhere\deep\deep\inside; use \; // root namespace.. note: this doesn't work class stuff{ //…. } кто […]

Можно ли использовать new как имя метода в PHP 5.3?

Я ревную к Ruby с их использованием «нового» как метода. Можно ли достичь этого в PHP 5.3 с использованием пространств имен? class Foo { public function new() { echo 'Hello'; } }

php получить пространство имен включенного файла

//file foo.php <?php namespace foo; class foo{ function __construct(){ echo "hello"; } } ?> //file index.php <?php require_once("foo.php"); echo __NAMESPACE__; ?> Мой вопрос: из моего файла index.php можно ли узнать, что пространство имен foo.php не читает содержимое файла и не делает регулярное выражение на нем? Это просто похоже на накладные расходы. ///РЕДАКТИРОВАТЬ Мне бы очень […]

Импорт пространства имен и файлов в PHP

Я начал создавать свою библиотеку кода с PHP 4. Я использовал require_once для импорта классов. Теперь с PHP 5.3 я встретил определение пространств имен и их импорт. Я хотел бы изменить исходные файлы, чтобы использовать importing ( use statement) вместо использования require_once . Это верное решение, я не уверен. Думаю, это было бы легко. Определение […]

Какая польза от пространств имен в PHP?

Какая польза от пространств имен в PHP? Я работал над несколькими системами MVC и не нашел для них много пользы. Я читаю о них здесь … это проблема вроде того, что я никогда не использовал их? Это то, что является хорошим стандартом кодирования, который всегда используется?

Существует ли альтернатива пространству имен, альтернативная классу class_exists () PHP?

Если вы попытаетесь использовать class_exists () внутри метода класса в PHP, вы должны указать полное имя класса – текущее пространство имен не соблюдается. Например, если мой класс: <? namespace Foo; class Bar{ public function doesBooClassExist(){ return class_exists('Boo'); } } И Boo – класс (который автоматически автозагружается) и выглядит так namespace Foo; class Boo{ // stuff […]

Использовать пространство имен php внутри функции

Я получаю ошибку синтаксического анализа при попытке использовать пространство имен внутри моей собственной функции require('/var/load.php'); function go(){ use test\Class; $go = 'ok'; return $go; } echo go();

Расширение псевдонима пространства имен PHP до полной строки пространства имен

Мне было интересно, есть ли способ расширить псевдоним пространства имен PHP, чтобы получить полный идентификатор пространства имен. Цель этого заключается в том, что наша фабрика создания объектов ожидает строку с полным пространством имен, чтобы она могла автоматически загрузить ее. Вот краткий пример: <?php use my\namespace\area as MyArea; $goodObject = MyApp::factory('my\namespace\area\ClassName'); $badObject = MyApp::factory('MyArea\ClassName'); Я ищу […]