包含后加前缀的PHP路径


PHP Path Prefixed After Include

我正在使用PhpStorm IDE。

我将include添加到PHP文件中:

include_once 'lib'Zend'Form'Element';

我希望能够将其用作:

    new Element();

但PhpStorm只允许我将其用作:

    new 'Zend'Form'Element();

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

仅仅在PHP中包含someting并不意味着您可以跳过命名空间前缀。

include只会使代码在当前脚本中可用,但您仍然必须通过类的名称空间对其进行寻址。

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

这是在名称空间Zend'Form中寻址Element构造函数的正确方法。如果你不想每次都写''Zend''Form'',你可以简单地使用:

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

您可以在此处了解有关名称空间和别名的更多信息:http://php.net/manual/en/language.namespaces.importing.php

如果你仍然不理解这个:

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

显然,在没有自动加载器或10多行配置的情况下使用Zend的任何部分都是一项困难的任务。困难在于,你必须编辑Zend源代码,以包含所需的文件,这是一个混乱的,不能经得起未来的考验,而且是一个糟糕的破解。

仅在我的使用文件中导入和命名并不能解决这个问题。

如果您有同样的问题,请查看"composer"和自动加载Zend