magento1.4 -- 从新闻插件看出Magento开启预编译后对代码的要求更加严格规范
来源:互联网 发布:com域名备案 编辑:程序博客网 时间:2024/05/17 01:17
Scalena News这个新闻插件我用了很久了,在1.3时代使用中一直没出问题,就也没有去检查它的代码是否都是准确的。因为1.4的预编译(Compilation)功能已经成熟,我在1.4安装完Scalena News后开启了编译,这时访问后台新闻管理菜单会报错,提示Mage_Adminhtml_Controller_action这个类没找到,检查插件的Scalena_News_Adminhtml_NewsController这个文件后发现Mage_Adminhtml_Controller_action里的action应该是大写Action
也就是说应该是class Scalena_News_Adminhtml_NewsController extends Mage_Adminhtml_Controller_Action,修改之后重新运行编译后不再报错。而即使不修改,只要关闭编译,同样不会报错。
从这里可以看出,未开编译前Magento对代码的规范并没有那么严格,甚至可以猜想在1.3时代有不少插件里或者系统代码有类似的不规范代码因为不影响使用而没被发现,但到了1.4时代,如果想要正常使用预编译(Compilation)来提速,更规范的代码编写是必不可少了。我的建议是从一开始开发局开启预编译(Compilation),当然每次新装插件或新写了自己的模块时要重新运行编译,这样每次发现有报错可以及时的修改掉,如果一直没开编译,到项目全部做完在开启,那时候可能会有一大把错误等着你去改,甚至混在一起无从下手。当然这是我根据目前的知识所作的推测。
之前好像有看到过一篇英文文章说,要开启预编译会要求所有的功能编写按照Magento的标准模块编写方式,跳出框架自己写代码实现的功能有可能无法编译,甚至报错到无法使用编译功能,比如在一个phtml文件中自己写php代码直接读取数据库等等。这一点我还未证实过,不过我觉得既然使用了Magento这个框架,按照Magento的规则去写代码还是有必要的,方便了自己也方便了别人看懂你的代码,当然这就要求开发者需要更深入的了解magento自身的框架。
还有一个细节,在windows系统中开启编译,新闻管理是不会报错的,因为windows系统文件和文件夹不区分大小写,而一个Magento项目最终肯定是要在Linux的服务器上运行,所以一个建议是本地开发也搭建一个Linux环境做开发,才不会发生从windows转移到linux是发现一堆大小写带来的错误。
- magento1.4 -- 从新闻插件看出Magento开启预编译后对代码的要求更加严格规范
- magento1.4 -- 预编译(Compilation)开启后后台插件管理不能访问的bug
- magento Compilation 预编译 开启后可以大幅提高 Magento 系统的运行速度
- magento -- Magento1.4强大的新功能
- Magento对空间的要求
- magento -- magento1.4在翻译上存在的一个bug
- Python对书写格式的严格要求
- vs查看预编译后的代码
- Magento 开启Compilation预编译 网站无法打开
- Magento对PHP扩展的要求
- Magento适应Seaslog和Logstash要求的书写规范
- perl:编码规范;严格要求自己
- 加入jpa规范后,JavaBean的要求
- Magento -- 分享支持Magento1.6的示例数据包
- [评论]为什么谷歌要执行严格的代码编写规范
- 为什么谷歌要执行严格的代码编写规范
- 为什么Google要执行严格的代码编写规范
- [评论]为什么谷歌要执行严格的代码编写规范
- 通过新立得下载的软件安装程序文件位置和Ubuntu .deb包安装方法
- 今天心情真不好!
- FPC 2.4.1&Lazarus 0.9.29下成功安装unidac 3.0.0.8
- 三网融合的技术基础
- 图片编辑 – 保存、裁剪、改变大小、旋转
- magento1.4 -- 从新闻插件看出Magento开启预编译后对代码的要求更加严格规范
- html 滚动条
- SmartGwt : ListGrid setSortField setSortDirection 无效
- Cellular Emulator使用手札
- C++中的内存分配
- Xluo通用权限管理系统
- 叶问2
- 下决心了
- CALLBACK 函数