摘要:代码已经开源,本文简单介绍,希望能帮助了解。数据库的适配器,支持。请求由容器处理,容器中包括请求响应路由拦截器等对象。收到请求后,会生成相应的请求和响应对象,以注入的方式传给。从获取所需数据后,传递给的响应对象。
Typecho Framework是SegmentFault所用的框架,由创始人joyqi亲手打造。joyqi也是国内知名博客平台Typecho的作者。
Typecho Framework代码已经开源,本文简单介绍Typecho Framework,希望能帮助PHPer了解 Typecho Framework。
目录结构Typecho Framework的目录结构如下:
Cache
DB
Helper
MVC
Validator
Cache基于Redis的缓存。
Redis是一个开源、基于内存、键值对数据库,使用ANSI C编写。Redis这种基于内存的性质,与在执行一个事务时将每个变化都写入硬盘的数据库系统相比就显得执行效率非常高。
DB顾名思义这就是和数据库打交道的。
Connector.php
Adapter
Query
ConnectorConnector.php中是Connector类,封装了数据库的初始化、选取、更新、增删、插入、查询等操作的函数。
Adapter数据库的适配器,支持SQLite、MySQL、PostgreSQL。
Query具体的query封装,Insert、Delete、Query、Select、Update等等。
Helper提供一些辅助功能:
Autoloader.php 自动加载
Config.php 配置
HttpClient.php HTTP客户端
Logger.php 日志
Validator顾名思义,各种验证。例如URL、Email、字符串长度,等等。
上面的介绍有意略过了Mvc,因为这部分是整个框架的核心,留待下面重点介绍。
MVCHTTP请求由Server容器处理,Server容器中包括请求、响应、路由、拦截器等对象。Server收到HTTP请求后,会生成相应的请求和响应对象,以注入的方式传给Action。
获得Server注入的对象后,Action与更后端的Service打交道,获取所需的数据。例如数据库等操作,都由Service打理。Action从Service获取所需数据后,传递result给Server的响应对象。
Action传递result,这是Typecho Framework的特色。result可以是template,也可以是json,等等。使用result,方便代码更好地复用。
上面提到了注入。这也是Typecho Framework的特色。关于注入这个概念,可以参考wikipedia的解释。举个例子吧。假设Action A需要使用Model X,通常的做法是用$this->load(XModel)来导入,或者直接使用$this->Xmodel(通过__get这样的magic method实现)。而使用了注入,则只需在Action A中使用private XModel声明,非常的优雅,由于XModel在内存中只有一个实例,性能上也很不错。
小练习做中学是一种高效的学习方法。通过上面的介绍,你应该对Typecho有了一定的了解,现在是练手的时候了。
参考Typecho Framework的源代码,以及Typecho Framework示例,完成以下三个joyqi给出的小练习:
输出Hello World
使用模板输出Hello World
使用模板,模板中涉及传入的参数
提示:
可以参考此文
撰文 SegmentFault
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/20675.html
摘要:注入是的重要特性。注入写起来非常优雅,在性能上也有好处避免了函数开销。本文简要介绍如何使用的注入。如果你不太了解,请先参考简介和两篇文章。注入的使用十分简单。中需要自动提示的话,需要额外使用注明。感谢提供这个小窍门。 注入是Typecho-Framewrok的重要特性。注入写起来非常优雅,在性能上也有好处(避免了函数开销)。本文简要介绍如何使用Typecho-Framework的注入。...
摘要:是所用的框架,本文将介绍如何用这个框架写一个程序。在目录下建立目录,并在其中创建文件首先我们定义一个命名空间,我们的程序使用为命名空间。入口程序这样基本上就完成了。会自动在目录下找模板文件,约定大于配置。 Typecho Framework是SegmentFault所用的框架,本文将介绍如何用这个框架写一个Hello World程序。如果你不了解Typecho Framework,请先...
摘要:是写的一个框架。据说是参考了的思想。要先页面上显示我们还需要写一下路由。打开由于中有用到数据库,我们先注释掉。文件中注释这行。然后这样可以通过访问看到输出了。 typecho framework是70写的一个框架。据说是参考了java的思想。 项目地址:https://github.com/typecho/framework 参考项目:https://github.com/typec...
摘要:看起来很简单吧其实里面还是有不少坑的。激活插件方法如果激活失败直接抛出异常禁用插件方法如果禁用失败直接抛出异常获取插件配置面板配置面板个人用户的配置面板插件实现方法插件流程插件的基本流程是这样的。下一节老高会更详细的说明插件类的方法。 最近老高正在编写一个关于typecho的插件,由于typecho不像wordpress,有那么多的文档参考,写一个插件还是遇到了很多的坑,不过随着研究的...
摘要:此文原本发表于我的博客老高的技术博客,欢迎和老高交流之前啰嗦了很多,现在开始写核心代码。至此我们已经拿到了文章的永久链接,下一步就是给百度服务器发送数据了本节完 此文原本发表于我的博客 老高的技术博客 ,欢迎和老高交流! 之前啰嗦了很多,现在开始写核心代码。 分析一下,发布文章的时候,我们需要的信息就是当前文章的URL,我们需要想办法从$contents、 $class中拿到他。...
阅读 2800·2021-11-22 15:22
阅读 18151·2021-09-22 15:00
阅读 1411·2021-09-07 09:58
阅读 1220·2019-08-30 13:01
阅读 2369·2019-08-29 16:27
阅读 2325·2019-08-26 13:25
阅读 1590·2019-08-26 12:13
阅读 912·2019-08-26 11:53