随笔分类 - PHP内核
摘要:原文 :Yacc 与Lex 快速入门Lex 代表 Lexical Analyzar。Yacc 代表 Yet Another Compiler Compiler。 让我们从 Lex 开始吧。LexLex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。 这些词汇模式(或者常规表达式)在...
阅读全文
摘要:深入理解PHP的引用(References in PHP)huangguisu为了深入理解PHP的引用,找到一篇老外的东西:http://derickrethans.nl/talks/phparch-php-variables-article很多内容还是直接看英文版比较好,翻译过来有时候词不达意。基...
阅读全文
摘要:PHP扩展代码结构详解:这个是继:使用ext_skel和phpize构建php5扩展 内容 (拆分出来)Zend_API:深入_PHP_内核:http://cn2.php.net/manual/zh/internals2.ze1.php我们使用ext_skel创建扩展 hello_module,该模...
阅读全文
摘要:探究PHP底层1、PHP是什么?PHP 指的是我们从外面看到的一套完整的系统。这听起来有点糊涂,但其实并不复杂(PHP4 内部结构图)。从功能上来分:我们可以分为三部分:1、 解释器部分(Zend 以引擎),负责对输入代码的分析、翻译和执行;2、 功能性部分(PHP功能函数以及扩展),负责具体实现语...
阅读全文
摘要:PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行 (Command Line Interface)4)web模块模式 (apache等web服务器运行的模块...
阅读全文
摘要:首先声明:我们要构建的是扩展或者模块名为hello_module.该模块提供一个方法:hello_word.1、php环境的搭建我们一般使用源码包编译安装,而不是binary包安装。因为使用PHP的二进制分发包安装有些冒险,这些版本倾向于忽略./configure的两个重要选项,它们在开发过程中很便...
阅读全文
摘要:1、PHP的运行模式: PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。1、当我们在终端敲入php这个命令的时候,它使用的是CLI。它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。2、当使用Apache或...
阅读全文
摘要:Part III: Resources原文:http://devzone.zend.com/article/1024-Extension-Writing-Part-III-Resources编写扩展_III- 资源介绍资源初始化资源接收资源作为函数参数销毁资源强制销毁资源持久资源查找现存的持久资源核...
阅读全文
摘要:原文:http://devzone.zend.com/article/1022-Extension-Writing-Part-II-Parameters-Arrays-and-ZVALsPart II: Parameters,Arrays, and ZVALs原文:http://devzone.ze...
阅读全文
摘要:内容:编写扩展I - PHP和Zend起步原文:http://devzone.zend.com/public/view/tag/ExtensionPart I: Introduction to PHP and Zendhttp://devzone.zend.com/article/1021-Exte...
阅读全文
摘要:我们在前面的php高效写法提到,尽量不要复制变量,特别是数组。一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数占用的内存:'; $start = m...
阅读全文