包含后的PHP路径前缀

时间:2014-11-07 16:54:06

标签: php phpstorm php-include

我正在使用PhpStorm IDE。

我将include添加到PHP文件中:

include_once 'lib\Zend\Form\Element';

我希望能够将其用作:

    new Element();

但是PhpStorm只会让我用它作为:

    new \Zend\Form\Element();

如何在没有前缀路径的情况下使用它?

2 个答案:

答案 0 :(得分:0)

在PHP中包含一些内容并不意味着你可以跳过命名空间前缀。

包括仅在当前脚本中使代码可用,但您仍然必须通过它的命名空间来解决该类。

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

这是解决名称空间ElementZend\Form构造函数的正确方法。如果您不想每次只使用:

,就不想写\ Zend \ Form \
use Zend\Form\Element;
$var = new Element();

您可以在此处详细了解命名空间和别名:http://php.net/manual/en/language.namespaces.importing.php

如果您仍然不明白这一点:

包括类似于在gps导航系统上安装地图。使用命名空间就像定义邮政编码一样。构造函数就像告诉你的gps导航系统的街道和门牌号。

答案 1 :(得分:0)

显然,在没有自动加载器或10多行配置的情况下使用Zend的任何部分是一项艰巨的任务。很难你必须编辑Zend源以包含那里的所需文件,这是一个烂摊子,而不是未来的证据和糟糕的黑客。

仅在我的使用文件中导入和命名空间无法解决问题。

如果您遇到同样的问题请查看作曲家'和自动加载Zend。