phpstorm — PHP путь с префиксом после включения

Я использую IDE PhpStorm.

Я добавляю включение в файл PHP:

include_once 'lib\Zend\Form\Element';

И я ожидаю, что смогу использовать его как:

    new Element();

Но вместо этого PhpStorm позволит мне использовать его только как:

    new \Zend\Form\Element();

Как я могу использовать его без префикса пути?

-1

Решение

просто включение чего-то в PHP не означает, что вы можете пропустить префикс пространства имен.

Включение только делает код доступным в вашем текущем скрипте, но вы все равно должны обращаться к классу по его пространству имен.

$var = new \Zend\Form\Element();

Это правильный способ решения Element конструктор в пространстве имен Zend\Form, Если вы не хотите писать \ Zend \ Form \ каждый раз, вы можете просто использовать:

use Zend\Form\Element;
$var = new Element();

Вы можете узнать больше о пространствах имен и псевдонимах здесь: http://php.net/manual/en/language.namespaces.importing.php

Если вы до сих пор не поняли это:

Включение аналогично установке карты в вашей системе навигации GPS. Использование пространства имен похоже на определение почтового индекса. Конструктор подобен сообщению улицы и номера дома вашей навигационной системе GPS.

0

Другие решения

По-видимому, это трудная задача — использовать любую часть Zend без автозагрузчика или более 10 строк конфигурации. Сложно то, что вы должны отредактировать исходный код Zend, чтобы включить в него необходимые файлы, которые являются беспорядком, а не будущим и плохим взломом.

Импорт и пространство имен только в моем файле использования не решают проблему.

Если у вас возникла та же проблема, посмотрите на ‘composer’ и автозагрузку Zend.

0

По вопросам рекламы [email protected]