PHP, как импортировать все классы из другого пространства имен - PullRequest
56 голосов
/ 19 августа 2011

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

namespace foo
{

    class bar
    {

        public static $a = 'foobar';

    }

}

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

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

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

Пример кода:

<?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

1 Ответ

58 голосов
/ 19 августа 2011

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

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

namespace Foo;

use Bar;

$obj = new Bar\SomeClassFromBar();
...