====== 开发文档 ====== ^ 服务器端设计 ^^ | [[develop:widget|Widget(组件)设计文档]] | Widget是组成Typecho的最基本元素,除了已经抽象出来的类库外,其它几乎所有的功能都会通过Widget来完成.在实践中我们发现,在博客这种小型但很灵活的系统中实施一些大型框架的思想是不合适的,它会使系统灵活性降低并且维护成本增高. | | [[develop:route|Route(路由器)设计文档]] | 路由器是Typecho系统中的一个重要组件它通过识别诸如**[[http://localhost/2008/10/1/hello-world]]**此类的伪地址,它在文件系统中并不存在但通过结合rewrite我们可以模拟出这样一个静态地址,路由器在路由表中找到匹配记录,并将用户请求导向最终应答页面.在一般的系统中,都会有一个朴素的路由系统,它们通过识别GET中的默认参数值来达到导向的目的.而在Typecho中我们通过匹配系统的伪路径来导向目的,路由表是可以配置的,并且可以动态地增加. | | [[develop:db|Db(数据库类)设计文档]] | Typecho中抛弃了繁琐的MVC构建方式,将所有的功能单纯地封装为一个模块(也就是上述的Widget),使其更加适合开源地并发开发模式.由于没有了Model层的存在,Widget必须直接与数据库联系.Db类的设计就是为了帮助你更快速的获取自己所需要的数据。 | | [[develop:password_protected_contents|文章密码保护文档]] | 由于密码保护的展现形式以及规则比较复杂,特在此进行约定。所有依赖于密码保护内容的设计均参照此文档。 | | [[develop:acl|ACL(权限控制)文档]] | 在Typecho中分别设置了5个等级的权限供多个用户共用一个博客。他们的权限从高到低分别是:管理员(administrator), 编辑(editor), 贡献者(contributor), 关注者(subscriber), 访问者(visitor).其权限设置与wordpress有一些相同之处,但是扩展方法不尽相同。 | | [[develop:attachment|Attachment(附件)]] | 在typecho 0.6中加入附件功能,此文档描述附件系统实现与扩展方法 | ^ 前端交互设计 ^^ | [[develop:css-naming|css命名设计]] | 为了方便后台的扩展,特定义此规范 |