基本上还是面向过程的模式,其中使用的class_core,discuz_application这些类,是作为一个过程的对象来使用的。没有用到继承和多态,只用到了oop的封装性的特点。
对数据库的操作采用了oop的继承等特性。
今天通过调试工具看了下源码的执行流程。这种面向过程的函数调用交叉比较多,目录有些乱。
其中大量用到钩子函数。
如果要换成oop的话,需要把一些共同调用的函数封装成基类,然后起个跟功能相近的名字继承这个基类,分别实现具体的功能,这样代码结构会看起来清晰很多。毕竟discuz实现功能较多,如果用oop,也会很庞大。
下一步找个oop的项目学习下。