Magento1与Magento2的区别
Magento1与Magento2的区别
本人接触magento有些年头了。。。
2012年开始用magento 1.7。2016年开始用magento2.0。
截止到目前。M1最新版本是1.9.3.3。 M2最新版本是2.2.2。
想当年第一次接触magento的时候,是跟同事一起,网上下载的Alan Storm的'深入理解magento系统',共8章。
感觉好复杂 学的头疼 架构之复杂真是第一次见。当时硬着头皮学习了一个月 才入门 。。
不愧是宇宙最强大的购物车系统。zend framework框架的集大成者。只有你想不到的 没有你找不到的。
magento在国内不温不火 很小众 基本上都是做的外贸网站。因为后台操作和设计不符合国人习惯,功能也太繁多,架构也有点复杂,开发门槛比较高。
不过在国外火的一塌糊涂,电商系统市场占有率达到了90%。好像是12年被ebay收购了。
magento的优点就是功能多 完全开源 模版 插件 多,seo比较好,看起来很高大上。社区活跃,版本一直在更新。市场成熟度高。
缺点也很明显,就是慢,慢,慢!!对服务器要求高。
m2是15年正式上线的正式版,框架和写法跟m1有很大区别,用到了命名空间和composer,模块化设计更强。因为是刚出生不久 所以bug比较多。目前全世界做m2的公司还不多 都是起步阶段。网上也没有多少资料可供参考。
主要区别有:
1,m2集成了jquery,不需要手动引入。而m1默认是用的prototype,需要手动引入jquery
2,m2插件的代码 模版 css和js都在一个目录里面(在插件目录下 app/code/插件名字)。而m1是分开的(js在js/下,css在skin/下,模版在app/design/下,代码在app/code下)。
3,m2用了命名空间,新建php文件类的时候,需要在头部namespace声明下。
4,m2的控制器action 都是独立的文件。
比如
test.magento.com/controller/action1
test.magento.com/controller/action2
这里的action1和action2方法都不是在controller文件里。而是分开写的。
Action1.php和Action2.php
5,m2需要php7.0和mysql5.6以上版本。不然的话 安装不了。
6,m2提供了命令行,添加插件或者修改代码后需要在命令行里进行代码编译和生成缓存。
7,m2引入了requirejs来管理js,对js要求更高 写法更规范。对js各组件功能采用了mvc架构。
8,m2对各个模块引入了composer,支持插件打包升级。