博客
[ PHP 内核与扩展开发系列] 第一个 PHP 扩展:编写函数
前面我们已经生成好了一份扩展框架,但它是没有什么实际作用。一个扩展的作用可大了去了,既可以操作 PHP 中的变量、常量,还可以定义函...
[ PHP 内核与扩展开发系列] 第一个 PHP 扩展:编译扩展
我们已经在上一节准备好了需要编译的源文件,接下来需要的便是把它们编译成目标文件了。 在 *nix 下编译安装 第一步:我们需要...
[ PHP 内核与扩展开发系列] 第一个 PHP 扩展:扩展的基本结构
每一个 PHP 扩展都至少需要两个文件:一个配置文件和一个源文件。配置文件用来告诉编译器应该编译哪几个文件,以及编译本扩展是否需要的...
[ PHP 内核与扩展开发系列] 配置编译环境并编译安装 PHP
准备工作 从一个 PHP 程序员,到一个想为 PHP 开发扩展的程序员,此间的进化有一步是跳不过去的,那就是你必须熟知如何编译 P...
[ PHP 内核与扩展开发系列] 内存管理 —— 引用计数
对于 PHP 这种需要同时处理多个请求的程序来说,申请和释放内存的时候应该慎之又慎,一不小心便会酿成大错。另一方面,除了要安全申请和...
[ PHP 内核与扩展开发系列] 内存管理 —— 内存分配与释放
在 PHP 里,我们可以定义字符串变量,比如 <?php $str="hello";?>,$str 这个字符串变量可以被...
[ PHP 内核与扩展开发系列] 变量在内核中的实现 —— 类型转化
现在我们已经可以从符号表中获取用户在 PHP 语言里定义的变量了,是时候该做点其它事情了,举个例子,比如给它来个类型转换。想想 C ...
[ PHP 内核与扩展开发系列] 变量在内核中的实现 —— PHP 变量的创建、存储和检索
创建变量 我们已经知道 PHP 变量在内核中其实是通过 zval 结构来实现的,也初步了解如何设置一个 zval 结构的类型和值。...
[ PHP 内核与扩展开发系列] 变量在内核中的实现 —— 变量的值
PHP 内核提供了三个基础宏来方便我们对变量的值进行操作,这几个宏同样以 Z_ 开头,并且 P 结尾和PP 结尾的同上一节中的宏一样...
[ PHP 内核与扩展开发系列] 变量在内核中的实现 —— 变量类型
所有的编程语言都要提供一种数据的存储与检索机制,PHP 也不例外。其它语言大都需要在使用变量之前先定义,并且它的类型也是无法再次改变...
[ PHP 内核与扩展开发系列] PHP 生命周期 —— 启动、终止与模式
启动与终止 PHP程序的启动可以看作有两个概念上的启动,终止也有两个概念上的终止。 其中一个是 PHP 作为Apache(拿它举例...
[ PHP 内核与扩展开发系列] PHP 生命周期 —— 从 SAPI 开始
声明:本系列文章整理自GitHub项目PHP扩展开发及内核应用,并根据PHP最新代码对其进行适当调整和校对。适用于有 C 语言基础的...
基于 Laravel master 分支,ThinkSNS 从 1 到 0 再到 0.1
现在,我们改名字了。ThinkSNS 到 ThinkSNS+ 什么是 ThinkSNS+ 好吧,这不是广告。。。在 09 年,由北...
造个轮子:基于 Laravel 的下一代 PHP 开发框架(API+SPA 单页应用 )
这是我们团队的一个非盈利项目,以Apache2.0协议开源...不限制商用 Notadd是什么 Notadd 是基于Larave...
Laravel Cast 教程总结系列:精通 Sublime Text
1. 让你的 Sublime 变得更好看 1.1 安装 Package Control 以及主题 Package Control...