php插件中心开发,扩展机制简介 - zentaoPHP二次开发 - 易企天创开发者中心

易软天创团队在解决PHP开源软件升级与个性化修改冲突的问题上,设计了zentaoPHP框架,强调了扩展性。该框架采用模块化结构,按MVC划分,并提供配置、语言、样式和脚本等辅助概念。通过扩展机制,开发者能对任一层面进行扩展,避免升级时覆盖自定义代码,确保安全升级。
摘要由CSDN通过智能技术生成

易软天创团队使用PHP这十几年过程中,也曾经使用过很多PHP开源的软件。在使用过程中,遇到了一个同样的问题:如果对代码做过个性化的修改,就没有办法跟着官方的版本进行升级了。做得稍好一些的比如wordpress, dupral, discuz这些程序后来有了自己的hook扩展机制。但这种扩展机制是基于动作或者事件的,只能对原有的系统做局部的修改,限制性比较强,没有办法对系统做比较深入的修改。带着这个问题,我们在设计zentaoPHP框架的时候,就特别注意框架的扩展性。得益于PHP5.2版本以后oop语法的增强,zentaoPHP框架实现了深入彻底的扩展机制。

使用zentaoPHP开发的应用都是由一个个的模块组成的。每个模块会对应到module下面的一个目录,比如user模块。每个模块按照mvc进行划分,有自己的control(控制层)、 model(模型层)和view(视图层)。同时我们还补充了其他几个辅助的概念:config(配置)、lang(语言)、 css(样式)和js(js脚本)。通过zentaoPHP框架的扩展机制,可以实现对任一层的扩展。

下面是一个扩展代码的目录结构:

user/control.php

user/model.php

user/view/{metho1.html.php, method2.html.php, ...}

user/config/config.php

user/css/{method1.css, method2.css, common.css, ...}

user/js/{method1.js, method2.js, common.js, ...}

user/ext/control/{method1.php, method2.php, ...}

user/ext/model/{extend1.php, extend2.php, ...}

user/ext/view/{method1.html.php, method2.html.php, ...}

user/ext/config/{config1.php, config2.php, ...}

user/ext/lang/zh-cn/{lang1.php, lang2.php, ...}

user/ext/lang/en/{lang1.php, lang2.php, ...}

user/ext/css/method1/{1.css, 2.css, ...}

user/ext/js/method1/{1.js, 2.js, ...}

开发者只要按照我们的扩展机制,把相应的扩展代码部署到对应的目录,即可实现对现有功能的重新定义或者新增功能。因为扩展代码和主干代码是分离的,所以就不用担心主干代码升级时会覆盖扩展代码。就可以做到放心的升级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值