摘要: 注:这篇文章的内容出自ircmaxell的博客,这里只是翻译整理一下! 这节我们将继续在上节的基础上,探讨PHP的内核实现,上节主要讲了如何在PHP源码中找到一个PHP函数的实现, 并以strpos函数为例,简要分析了它的实现过程。这节我们主要分析一下PHP中的变量,即源码中随处可见的zval类型。走进zval PHP是一种弱类型语言,不需要变量的类型声明,解释器会根据上下文环境,来决定当前变量是什么类型。PHP有Intger、String、Boolean、Float四种基本类型;Array、Object两种复合类型;还有Resource、NULL两种特殊类型。那么这些“PHP类型”是... 阅读全文
posted @ 2013-05-01 13:00 踏云摘星 阅读(260) 评论(0) 推荐(0)
摘要: 注:这篇文章的内容出自nikic的博客,这里只是翻译整理一下! 上一部分我们讨论了从哪里获取源码,以及源码的主要结构。这部分我们主要讨论,如何找到一个PHP核心函数的C源码,以及它的实现。 如何获得PHP核心函数的C源码 这里我们以strpos函数为例,首先进入PHP5.4源码的根目录,在搜索框中输入strpos,你会发现搜索出了很多,找起来很不方便,我们使用一点小小的技巧,在搜索在搜索框中输入"PHP_FUNCTION strpos"(注意:要加引号),现在,得到了两条搜索结果: /PHP_5_4/ext/standard/ php_string.h 48 PHP_FUN 阅读全文
posted @ 2013-05-01 00:28 踏云摘星 阅读(409) 评论(3) 推荐(0)