Magento有一个庞大的代码库(6000多个php文件),使用复杂的自动加载逻辑,并且在XML中有很多配置.我正在寻找一个可以在这个代码库中获得它的小脑筋的IDE - 告诉我声明函数的位置,调用它的地方等等.有没有可以处理这个野兽的IDE?
编辑 - 添加示例
以下是如何以Magento方式加载产品的示例:
$product = Mage::getModel('catalog/product')->load($productID)
Run Code Online (Sandbox Code Playgroud)
获得帮助类看起来类似:
$helper = Mage::getHelper('catalog/product')
Run Code Online (Sandbox Code Playgroud)
此外,通常从模型中假设属性的getter和setter,这可能已经在某个地方的XML文件中声明,而不是在代码中声明.
Jos*_*tey 14
可能不是你想要的答案,但文件的数量可能不会是你的陪衬.由于Magento使用奇怪的方法来实例化对象(Mage::getModel等),所以正常的代码完成完全不知所措.最重要的是,Magento大量使用PHP的魔术功能,这当然完全免除了代码完成.
我使用过Magento(Komodo,Zend Studio,Eclipse)的几个IDE,我从未有过很好的结果.科莫多是唯一一个没有冠状动脉试图猜测的人,所以我已经使用了一段时间了.
希望有所帮助.谢谢!
乔
Sha*_*ell 13
一个Netbeans粉丝自己.您正在寻找的是Zend Studio和Nebeans都支持的Class Type Hints.Magento在设置这些方面一直很慢,但在代码中有一些情况.
http://files.zend.com/help/Zend-Studio-7/code_assist_concept.htm
/* @var $myVar TestClass */ $myVar = new getClass();
Enr*_*que 10
我为PHPStorm开发了一个开源插件,也许你想看看:http: //www.magicento.com
该插件可以处理您的要求,还具有更多功能,如xml文件中的自动完成功能.我会每周添加更多功能,因为我在日常工作中使用插件.我希望它对你也有用.
如果您要使用免费的IDE,那么Eclipse PDT可以正常工作.它可以毫无问题地处理所有这些文件.如果你想要一个功能更全面的IDE,我会选择Zend Studio.Zend Studio本质上是Eclipse PDT,具有其他功能(如浏览器工具栏中内置的非常好的调试器/分析器,以及开箱即用的更好的代码格式).
这将取决于两个因素:IDE智能(是否会识别所有自动加载的类?)和简单的性能(IDE需要多长时间才能通过文件树来构建查找词典?多久一次?它会刷新吗?)
IDE是否可以处理这些数量的文件在很大程度上取决于您的计算机的配备方式.我建议您浏览最流行的PHP IDE的试用版,看看哪一个最适合您.找出你是否可以与他们合作应该很容易.
我与Nusphere的PHPED(14天试用版一个工作在这里).我从未使用过那么大的项目,但是大项目,我对代码查找功能感到满意.就像大多数IDE一样,它允许手动添加包含,以防它错过了自动加载.
然后是Zend Studio(在这里下载)和Eclipse PDT(这里),还有更多要在这个问题中查看.并非所有人都为PHP执行代码完成,所以你必须选择那些做的.