• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

基于Typecho CMS框架开发大中型应用

php 搞代码 4年前 (2022-01-23) 27次浏览 已收录 0个评论

基于Typecho CMS框架开发大中型应用

大中型应用暂且定义为:大于等于3个数据表的应用!汗吧!

Typecho原本是一款博客系统,其框架体系有别于市面上一般意义MVC框架,主体代码以自创的Widget为基类,整体非常简洁。

Typecho基本特性如下:

  1. 单一入口
  2. 除Db配置外,其他配置存于DB中
  3. 路由配置也存于DB中
  4. 自创Widget层,无传统Model层
  5. 自创Action层,类似传统的Controller层
  6. Hook机制
  7. 泛Plugin机制,Plugin包含注册已有Hook的Handler、扩展已有Widget的方法、注册新的前端Route以映射新的Action、注册后端管理界面
  8. 支持UI主题

为什么要基于Typecho开发应用

我又不是Typecho官方开发者,也不在相关背景单位segmentfault.公司工作,为什么要用这种小众框架?

事实上,你确实不需要用Typecho,PHP世界的框架已太多,完全可以选择更高级的框架。

不知从何时开始,我发现自己是一个“小众”患者,不喜欢走寻常路。就像Linux在桌面领域可能已经够小众了,但我喜欢用更小众的FreeBSD。

这只是我的一次尝试而已。

实践

原则:基于MVC模式,增加Service层。

  1. C层

前面我们说过,Typecho中自创了Action概念,这便是我们C层的基础,但Action没有明确的定义。所以我会定义出一个Controller基类。

  1. M层

Typecho中没有Model的概念,都是直接调用SQL查询。所以也要定义Model基类。

  1. V层

视图文件是View的内容载体,为减少学习成本,不再引入模板引擎,即直接使用PHP语法并直接引人C中执行。

  1. Service层

在复杂应用中,MVC最大的问题就是可重用的代码提炼不够,有的人C层太胖,有的人M层太胖。引入Service业务层,有助于对业务层的提炼和封装,尽可能提高代码的重复使用度。

Demo项目:Typecho Alumni校友录插件项目

代码地址:https://github.com/web3d/plugins/tree/master/Alumni

项目代码结构:

/plugins/Alumni/Base/Action.php|Model.php|Service.php|Helper.php
/plugins/Alumni本#文来源gaodai$ma#com搞$$代**码网$/Model/
/plugins/Alumni/Service/
/plugins/Alumni/Action/
/plugins/Alumni/views/default/

/plugins/Alumni/Plugin.php
/plugins/Alumni/panel.php

==========
未完待续…

以上就介绍了基于Typecho CMS框架开发大中型应用,包括了PHP语法,github方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:基于Typecho CMS框架开发大中型应用

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址