Подтвердить что ты не робот

PHP, как импортировать все классы из другого пространства имен

Я реализую пространства имен в существующем проекте. Я обнаружил, что вы можете использовать ключевое слово "use" для импорта классов в ваше пространство имен. Мой вопрос: могу ли я также импортировать все классы из 1 пространства имен в другое. Пример:

namespace foo
{

    class bar
    {

        public static $a = 'foobar';

    }

}

namespace
{
    use \foo;  //This doesn't work!
    echo bar::$a;
}

Обновление для PHP 7 +

Новая функция в PHP 7 - это сгруппированные объявления. Это не так просто, как использование 1 'use statement' для всех классов в данном пространстве имен, но делает его несколько проще...

Пример кода:

<?php
// Pre PHP 7 code
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

// PHP 7+ code
use some\namespace\{ClassA, ClassB, ClassC as C};
?>

Смотрите также: https://secure.php.net/manual/en/migration70.new-features.php#migration70.new-features.group-use-declarations

4b9b3361

Ответ 1

Это невозможно в PHP.

Все, что вы можете сделать, это:

namespace Foo;

use Bar;

$obj = new Bar\SomeClassFromBar();