首先来张PHP的架构图:什么SAPI?SAPI的中文译作:服务器端应用编程接口。它负责PHP与其他应用交互数据。这里的其他应用可能是shell或者apache等等。常见的SAPI有:CGI,Fast-cgi,CLI(for shell),isapi(for IIS),Embed(for c/c++)...
切,一个字符串有什么好研究的。
别这么说,看过《平凡的世界》么,平凡的字符串也可以有不平凡的故事。试看:
(1) 在C语言中,strlen计算字符串的时间复杂度是?PHP中呢?
(2) 在PHP中,怎样处理多字节字符串?PHP对unicode的支持如何?
同样是字符串,为什么c语言与C++/PHP/Java的均不相同?
数据结构决定算法,这句话一点不假。
那么我...
分类:
Web程序 时间:
2015-03-30 18:48:38
阅读次数:
151
切,一个字符串有什么好研究的。别这么说,看过《平凡的世界》么,平凡的字符串也可以有不平凡的故事。试看:(1) 在C语言中,strlen计算字符串的时间复杂度是?PHP中呢?(2) 在PHP中,怎样处理多字节字符串?PHP对unicode的支持如何?同样是字符串,为什么c语言与C++/PHP/Java...
分类:
Web程序 时间:
2015-03-30 18:33:18
阅读次数:
141
php开始 到 结束 有两个阶段 请求开始之间的初始化阶段 请求之后的结束处理阶段 开始阶段: 模块初始化 模块激活 模块初始化: 在整个SAPI生命周期内,只执行一次(apache服务器启动的整个声明周期内或者是命令行程序的整个执行过程) 模块激活: 该阶...
分类:
Web程序 时间:
2015-03-30 06:46:23
阅读次数:
119
在开发扩展之前,最好了解下PHP内核的执行流程,PHP其实主要包括两个方面:
SAPI
Zend VM
内部扩展Zend VM是PHP的虚拟机,与JVM类似,都是各自语言的编译/执行的核心。它们都会把各自的代码先编译为一种中间代码,PHP的通常叫opcode,Java通常叫bytecode,不同的是PHP的opcode直接被Zend VM的执行单元调用对应的C函数执行,不会显示保留下...
分类:
Web程序 时间:
2015-03-13 14:30:15
阅读次数:
229
require 的英文意思是 需要,有赖于。如果使用了这条语句,也就是告诉PHP内核,我这个程序需要这个文件,有赖于这个文件。或者通俗点儿讲就是:我要她!所以,PHP如果发现require参数中的文件不存在的话,就会报fatal error,并且停止执行下面的语句。include 的英文意思是 包括...
分类:
Web程序 时间:
2015-02-09 17:54:38
阅读次数:
163
这次说说session.
session可以说是当前互联网提到的最多的名词之一了。它的含义很宽泛,可以指任何一次完整的事务交互(会话):如发送一次HTTP请求并接受响应,执行一条SQL语句都可以看做一次Session。如无特殊说明,本文中提到的Session单指HTTP会话。
本文是PHP内核探索的第五篇,主要包含如下几个方面的内容:
背景知识和session基础PHP中sessio...
分类:
Web程序 时间:
2015-01-26 17:19:20
阅读次数:
225
原文:PHP内核探索之变量(5)- session的基本原理 这次说说session. session可以说是当前互联网提到的最多的名词之一了。它的含义很宽泛,可以指任何一次完整的事务交互(会话):如发送一次HTTP请求并接受响应,执行一条SQL语句都可以看做一次Session。如无特殊说明,本文中...
分类:
Web程序 时间:
2015-01-26 16:40:55
阅读次数:
180
原文:PHP内核探索之变量(4)- 数组操作上一节(PHP内核探索之变量(3)- hash table),我们已经知道,数组在PHP的底层实际上是HashTable(链接法解决冲突),本文将对最常用的函数系列-数组操作的相关函数做进一步的跟踪。
本文主要内容: PHP中提供的数组操作函数
数组操作函...
分类:
编程语言 时间:
2015-01-26 16:32:24
阅读次数:
192