PHP扩展开发
蜗牛8551
百度软件工程师
展开
-
PHP扩展开发-01-前期准备
闲话不和大家撤了,如果您想学习php的扩展开发,相信您对php基础知识已经有了一定的了解。PHP扩展时用C语言编写的,如果您还不知道C语言里面指针式什么东西,建议您先移步他出,好好学习一下C语言,大家都在骂谭浩强的《C语言程序设计》,但是我仍然建议您好好看看这本书。 做PHP开发得先准备一下环境吧。说起来容易,对于一些新手来说恐怕也是一场噩梦。建议原创 2013-01-25 17:28:09 · 986 阅读 · 0 评论 -
PHP扩展开发-02-一切都是从HelloWorld开始的
还记得第一次写代码,是用C语言打印出来了HelloWorld,那天我兴奋激动了一天。希望你你看完本页内容后自己也写一个helloworld的php扩展。第一个扩展程序,改怎么写呢?其实很简单~~~ 开始吧~~上次我们说,我们第一步需要卸载php的源代码,你下载好了吗?建议:建议大家在开发时,只安装一个php,其原创 2013-01-25 17:29:01 · 1940 阅读 · 0 评论 -
PHP扩展开发-03-读取php.ini中的配置
@author niujiaming本节中我们读取一下php.ini文件中的配置。其实,读取php.ini配置的方式挺多,本次我们只讲一种,如果有兴趣的话,大家可以各自研究一下。废话少说,我们更改一下之前的讲解方式,本次我们直接上代码。(其实是因为php扩展读取配置文件太简单了)(假设我们建立了一个ini_read的扩展)php_ini_read.h原创 2013-01-30 17:57:21 · 3227 阅读 · 0 评论 -
PHP扩展开发-05-参数接收
1 参数接收前面我们讲到了php扩展开发的大体架构,本节我们介绍扩展如何接收php脚本中传入的参数。1.1 普通参数接收任务:写一个扩展,输出php脚本传入的参数。例如php –r “echo hello(‘param test.’);” 将要输出param test.首先我们建立一个paramtest的扩展,建议、编译、安装、测试过程不再赘述。首原创 2013-02-03 10:39:59 · 2608 阅读 · 0 评论 -
PHP扩展开发-06-变量的定义和使用
1 zval结构分析1.1 初识zval我们先来看一下zval的定义:typedef union _zvalue_value{ long lval; /* long value */ double dval; /* double value */ struct { char *val;原创 2013-02-03 23:10:01 · 990 阅读 · 0 评论 -
PHP扩展开发-07-函数调用
1 函数返回值终于讲完zval了,前面我们讲到了函数的定义和使用,但是我们没有讲函数的返回值。因为C扩展中,函数的返回值类型为zval的,所以我们把这一节放在了这里进行讲解。本节任务,我们写一个简单的计算器,完成加减乘除运算,要求:编写函数calculate(num1, num2, opt),我们希望完成num1 opt num2= ?的运算。我们看一下完成上面任务的代码:原创 2013-02-04 00:16:57 · 2202 阅读 · 3 评论 -
PHP扩展开发-04-全局变量以及部分宏分析
1.1 抛砖引玉将这一节的目的是想交给大家,如和声明一个变量。使得这个变量针对每次请求独立,也就是说,同一次请求我们访问的变量是同一个,不同的请求我们使用的变量不是同一个。说道这里我先抛出一个问题:既然要实现上面的要求,那么我们该怎么办呢?我应该在哪里声明我的全局变量呢?还记得SAPI简介那一张吗?SAPI的实现有三种方式,单进程,多进程,多线程,但是对于每一次而言,都必须原创 2013-02-01 15:46:04 · 4352 阅读 · 1 评论 -
PHP扩展开发-08-数组的使用以及HashTable简介
1 数组本节我们讲一下php的数组,在php中,数组使用HashTable实现的。本节中我们先详细的介绍一下HashTable,然后再讲讲如何使用HastTable1.1 变长结构体所谓的变长结构体,其实是我们C语言结构体的一种特殊用法,并没有什么新奇之处。我们先来看一下变长结构体的一种通用定义方法。typedef struct bucket {原创 2013-02-04 13:05:44 · 3248 阅读 · 2 评论 -
PHP扩展开发-v1.0
1 前言这篇文章是我个人的学习笔记,我把这篇文章送给所有喜欢PHP语言,喜欢PHP扩展开发的同行、同学们。 2 前期准备闲话不和大家撤了,如果您想学习php的扩展开发,相信您对php基础知识已经有了一原创 2013-02-19 14:30:31 · 3534 阅读 · 2 评论