我正在使用PhpStorm IDE。
我将include添加到PHP文件中:
include_once 'lib\Zend\Form\Element';
我希望能够将其用作:
new Element();
但是PhpStorm只会让我用它作为:
new \Zend\Form\Element();
如何在没有前缀路径的情况下使用它?
答案 0 :(得分:0)
在PHP中包含一些内容并不意味着你可以跳过命名空间前缀。
包括仅在当前脚本中使代码可用,但您仍然必须通过它的命名空间来解决该类。
$var = new \Zend\Form\Element();
这是解决名称空间Element
中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。