本文共 1211 字,大约阅读时间需要 4 分钟。
ecmall是一个开源的C2C网上商城系统,功能还是有些完善的。不过因为ShopEx收购了它,估计是打算放到冷宫里处理。不过免费的ECMall还是很不错的,毕竟程序员的座右铭就是自己动手,让自己的衣 goreشت足。
我是.NET出身,对PHP只大概了解一点点。可惜公司只有我一个技术人员,没得人帮忙,我只能自己慢慢摸索了。
刚拿到ECMall 父 entrepreneurial code的时候,第一印象就是一堆include和require文件,这点可以理解,就像我们用.NET的using语句一样。然后我看到了ECMall的启动方法。
ECMall的启动方法很 directive, 代码这样写着:
ECMall:: startup(array( 'default_app' => 'default', 'default_act' => 'index', 'app_root' => ROOT_PATH . 'app', 'external_libs' => array( ROOT_PATH . 'includes/global.lib.php', ROOT_PATH . 'includes/libraries/time.lib.php', ROOT_PATH . 'includes/ecapp.base.php', ROOT_PATH . 'includes/plugin.base.php', ROOT_PATH . 'app/frontend.base.php', ROOT_PATH . 'includes/subdomain.inc.php', ),));
通过这段代码我马上知道,ECMall应该采用MVC框架的设计方式。在/app 目录下面,每个以*.app.php结尾的文件都是一个控制器。看到 'default_app' 是 'default',我就去找找default.app.php文件,终于在里面找到了比较有用的index()方法,这应该就是网站的入口了。
接下来我发现index()方法里面分配了好多变量,看名字还是大概能猜到它们的作用。方法最后调用了一个display()函数。虽然我对PHP项目的格式影响了点,但这应该就是把变量传递到模板里的操作。
接着我去themes/mall/default 找到了index.html文件,只看到了一堆div和像<!--{widgets page=index area=banner}-- >
之类的模板标记。ECMall的这个widgets挂件系统挺方便,但二次开发起来可能会有点麻烦。
总之,ECMall是一个不错的开源系统,让我学到了不少关于MVC和PHP开发的东西。它虽然有些不够完善,但路上的每一步教训都是宝贵的经验。
转载地址:http://aqeyk.baihongyu.com/