---thinkphp源码解析
a767536305
这个作者很懒,什么都没留下…
展开
-
ThinkPHP框架完全解析五
第五步:实现Dispatcher,解析url每一个框架都有其内置的库文件,想要使用的时候,都需要使用include或者是require这两条命令将库文件引入进来。然而,一个框架库文件是相当多,一下子就使用好几十条include或者是require不仅费时而且还费力,所以我们可以把这些文件定义在一个数组中,然后只要遍历这个数组,然后一一require就可以了。在tp框架中, ThinkP原创 2015-05-10 19:29:47 · 1122 阅读 · 0 评论 -
ThinkPHP框架完全解析四
第四步:Think类的实现之URL模式要实现像thinkphp类似URL访问模式。比如访问:http://127.0.0.1/index.php/Home/Index/index通过使用:$_SERVER['PATH_INFO']便能得到:/Home/Index/index在thinkphp中,Home表示模块,Index表示控制器,index表示操作。而实际上,控制器是某个类原创 2015-05-03 10:06:52 · 867 阅读 · 1 评论 -
ThinkPHP框架完全解析三
第三步:Think类的实现之类的自动加载上回讲到调用Think类中的start函数,这个函数是一个静态函数,因此,不需要初始化便能够被调用。这次,就来分析一下这个start函数有什么功能。第一行代码是:spl_autoload_register('Think\Think::autoload');这行代码的功能是自动加载类功能。传递的是Think名字空间下的Think类中autolo原创 2015-05-02 10:02:32 · 1102 阅读 · 0 评论 -
ThinkPHP框架完全解析六
Hook的实现,已经通过tag,显示出页面的trace:Hook里面只有三个成语函数,无非就是将tag导入,然后在某个适当的位置,调用listen,然后listen就会对这个标签进行解析,如果存在这个标签,那么就调用这个标签。这样,通过这种方法,第三方开发人员就可以非常容易地扩展thinkphp的功能了。比如:接下来,我们要基于我们以前所写出的框架,然后实现在a原创 2015-05-30 14:48:11 · 802 阅读 · 0 评论 -
ThinkPHP框架完全解析一
第一步:搭建应用和框架目录文件系统结构如上图所示,新建一个名为tp_an的目录作为我们的应用目录。其中,ThinkPHP这个目录,就是thinkphp框架的目录。所有涉及到框架的开发,都会在ThinkPHP中进行。只是为了方便测试,我们新建了tp_an这个目录,用于测试。 Index.php文件是我们项目(应用)的单入口文件。一般使用tp框架的应用都是单入口应用。单入口原创 2015-04-25 21:21:08 · 5337 阅读 · 0 评论 -
ThinkPHP框架完全解析二
第二步:搭建主框架在ThinkPHP.php这个框架入口文件中,代码主要分成两部分,常量定义部分和入口函数调用部分。常量定义部分定义了五个常量,分别是版本号(THINK_VERSION,当前为3.2.3.an,an表示是解析版),类文件后缀(EXT),框架目录(THINK_PATH),类库目录(LIB_PATH)和Think目录(CORE_PATH).然后接下来就是调用入口原创 2015-04-26 15:05:27 · 6804 阅读 · 0 评论