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 somenamespaceClassA;
use somenamespaceClassB;
use somenamespaceClassC as C;

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

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

1 52

1 ответ:

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

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

namespace Foo;

use Bar;

$obj = new Bar\SomeClassFromBar();