我正在使用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