Typecho 源码分析(5)

前情提要 上一篇我们已经分析完了组件的初始化相关的东西,今天我们继续。插件部分。 正文开始 1 2 /** 注册一个初始化插件 */ Typecho_Plugin::factory('index.php')->begin(); 进入方法内部 1 2 3 4 5 6 7 8 9 10 11 12 13 /** * 获取实例化插件对象 * * @access public * @param string $handle 插件 * @return Typecho_Plugin */ public static function factory($handle) { return isset(self::$_instances[$handle]) ? self::$_instances[$handle] : (self::$_instances[$handle] = new Typecho_Plugin($handle)); } 就是看插件池有没有这个插件,没有就初始化,如果有……

阅读全文

Typecho 源码分析(4)

上篇文章忘记说的 我们还是在入口文件徘徊,而且还是在初始化 widget 的第一行。我们来到了初始化 Widget_Init 的地方。在 Init->execute 方法中,我们到了初始化 option 的地方。 初始化的构造地方,还初始化了 db 数据库。 数据库连接的地方在,index 文件的引入 config 有构造连接,大家不要忘记哦。 正文开始 我们来看 Option->execute() 方法。 1 2 3 4 5 6 7 8 9……

阅读全文

Typecho 源码分析(3)

前情提要 通过之前我们的分析,我们已经把安装流程搞定了,本篇开始,我们分析前台相关的流程。 正文开始 我们又一次回到了 index.php 在第一篇说完前几行判断是否安装之后,我们就暂时离开了这个文件,当我们安装完以后,进入首页就又回到了这里,我们跳过判断安装那一块,直接看后面。 1 2 3 4 5 6 7 8 9 10 11 /** 初……

阅读全文

Typecho 源码分析(2)

前情提要 上一篇我们分析到了 install.php 文件的 set_include_path。今天我们继续。 进入安装流程 来到了引入 Typecho/Common.php 这样,也许你会很奇怪,找不到这个目录呢?不要忘了我们上面设置了好几个引入路径,所以我们要一个个的查找,最后我们会在 var 目录下,找到 Typecho/Common.php。你看用这……

阅读全文

说说 php 文件的加载

从 get_include_path 开始 1 2 3 <?php $path = get_include_path(); var_dump($path); 输出 1 2 root@c6c2fe3c9a93:/var/www/php_test# php test_get_include_path.php string(20) ".:/usr/local/lib/php" 这个会输出我们配置的 include 目录,我当前的设置下,会有 php 的 lib 目录,和当前目录,让我们来测试一下。 首先测试,当前目录下的文件引入,下面这个是我们在项目目录创建的文件 1 2 3 4 5 <?php function testCurrent() { var_dump('This is current include Output'); } 然后我们在另一个文件引入 1 2 3 4 <?php require 'test_include_current.php'; testCurrent(); 会得到输出 1……

阅读全文

Typecho 源码分析(1)

先说点前置的东西 从今天开始我要开始写源码分析的文章了,以前用 csdn 博客写过一些 android 和 java 的东西,后来脑袋抽筋被我删除了。所以这次等于是全新的开始,准备输出一些东西了。做了 5 年的开发,发现自己缺乏很多东西,所以这次从源码分析开始,输出东西以及补充自己的知识。 为什么选用 typecho ? 这个博客系统很经典……

阅读全文

关于读书的一些思考

看着自己的博客接近两个月没得更新,自己很是难受,一直是想输出点东西,但是又不知道写啥,还想把公众号弄起来,博客都这样了,就不用提公众号了。 最近读了一些书,写点读书笔记吧,总结了几天发现没什么实际意义,发现自己的精炼能力几乎为 0。就像分不清重点一样,也包括读书应该读到的程度,什么章……

阅读全文

最近的一些情况

距离上次写日志都已经过去了两个月,这两个月算是给自己放松了一下,从今年5月份开始就一直处于比较精神紧张的状态,进展不大,但是一直在思考东西,可是现在来看考虑的那些东西也没啥大用。 这两个月看了两本书,一点点视频教程,愈发觉得基础知识需要巩固,所以可能到20年前除了一些电影网站需要的……

阅读全文

两年了的一个小东西终于写完了

这是一个计划原本2个月就能写完的小东西,事实证明在各种问题的情况下,两个月依然能够写完。为什么却活生生的拖了两年呢?其实是因为自己想要弄得东西越来越多,后来精简到了最初的规模后,很容易的就实现了。 其实还有一个原因是很多东西太久不写真的记不得了,用了太久的框架,太多的东西平时工作以……

阅读全文

slim3 自定义twig模板扩展方法

前几天我们自定义了模型的分页,但是在输出到模板的时候会发现生成模板也是个重复的操作,既然如此,我们就扩展个twig模板的方法,这样以后当我们要生成分页的时候就只需要调用这个方法就可以了,毕竟人懒,麻烦一次以后都舒服。上个图先 这里我们一共做了两个样式,一个是比较传统的样式,一个是 laravel……

阅读全文