Skip to content

Dev.Front Module Concept and Compose.zh_cn

lavenderli edited this page Aug 8, 2013 · 4 revisions

1 基本概念

Pi Engine是由许多模块组成的,包括一些必须模块和可选模块,比如system模块就是系统必须的。模块的概念相当于App Store中的一个具体的应用。使用模块化编程思想方便了代码维护,也提高了开发效率。
Pi Engine的模块对模块化编程思想做了拓展,形成了自己的特点:模块聚合和模块多实例。

  • 模块聚合:在Pi系统中可以安装多个模块,比如article, user, tag模块等等,来满足一个具体网站的运营需求。
  • 模块多实例:Pi系统允许某些特殊模块可以重复安装,安装后的模块共用一套代码,但其分别在数据库里维护一套自己的数据。
    如果一个模块的配置文件中clonable => true,表明这个模块可以安装多次。

模块可以在后台 Operation->system->modules 更新,卸载,安装。

2 组成

模块主要由三部分组成:Controller,Action,Section,在这里做简单介绍。

  • Controller
    指MVC中的C,当客户端发起一个请求的时候,Controller决定了由哪个文件去响应这个请求。
  • Action
    Action是伴随着Controller的,它是某个Controller class的一个具体方法,最终客户端的请求是Action去响应的。一个Controller中可能包含了一个或多个Action。
  • Section
  • front:前台是面向普通用户的部分,这部分所有人都可以访问到
  • admin:后台是面向管理员的,需要登录后才可以看到,需要有一定的权限
  • feed:操作RSS,完成网站的RSS订阅
  • block:模块的区块,和模块的主体内容一起组成一个页面,一个模块的区块可以被其他模块重用。
Clone this wiki locally