Может ли интерактивный режим PHP запускать код в пространстве имен? - PullRequest
2 голосов
/ 25 февраля 2020

В интерактивном режиме PHP я попробовал следующее:

php > namespace MyNamespace;
php > class Throwable {}

Это приводит к фатальной ошибке:

PHP Fatal error:  Cannot declare class Throwable, because the name is already in use in php shell code on line 1

Однако следующий код, когда в файле PHP выполняется без ошибок:

<?php
namespace MyNamespace;
class Throwable {}

Следовательно, возможно ли как-то установить пространство имен в интерактивном режиме? Или весь код в интерактивном режиме выполняется в глобальном пространстве независимо от предыдущего определения пространства имен?

1 Ответ

1 голос
/ 25 февраля 2020

Чтобы это работало, вы должны применить пример , приведенный в документации , который позволяет комбинировать код с пространством имен и без имени:

namespace MyNamespace {
    class Throwable {}
}

Это выглядит так, когда вы его набираете :

> namespace Mynamespace {
{ class Throwable {}
{ }
>
...