PHP扩展开发中文教程(PHP和Zend起步)
基本信息
打开支付宝首页搜“673273051”领红包,领到大红包的小伙伴赶紧使用哦!
相关书籍
内容介绍
介绍 既然您正在阅读本教程,那么您或许对编写PHP语言的扩展感兴趣。如果不是...呃,或许你并不知道这一兴趣,那么我们结束的时候你就会发现它。 本教程假定您基本熟悉PHP语言及其解释器实现所用的语言:C. 让我们从指明为什么你想要编写PHP扩展开始。 限于PHP语言本身的抽象程度,它不能直接访问某些库或特定于操作系统的调用。你想要通过某些不平常的方法定制PHP的行为。你有一些现成的PHP代码,但是你知道它可以(运行)更快、(占用空间)更小,而且消耗更少的内存。你有一些不错的代码出售,买家可以使用它,但重要的是不能看到源代码。 这些都是非常正当的理由,但是,在创建扩展之前,你需要首先明白扩展是什么? 扩展是什么? 如果你用过PHP,那么你肯定用到过扩展。除了少数例外,每个用户空间的函数都被组织在不同的扩展中。这些函数中的很多够成了standard扩展-总数超过400。PHP本身带有86个扩展(原文写就之时-译注),平均每个含有大约30个函数。数学操作方面大约有2500个函数。似乎这还不够, PECL仓库另外提供了超过100个扩展,而且互联网上可以找到更多。 “除了扩展中的函数,还有什么?”我听到了你的疑问。 “扩展的里面是什么?PHP的‘核心’是什么?” PHP的核心由两部分组成。最底层是Zend引擎(ZE)。ZE把人类易读的脚本解析成机器可读的符号,然后在进程空间内执行这些符号。ZE也处理内存管理、变量作用域及调度程序调用。另一部分是PHP内核,它绑定了SAPI层(Server Application Programming Interface,通常涉及主机环境,如Apache,IIS,CLI,CGI等),并处理与它的通信。它同时对safe_mode和open_basedir的检测提供一致的控制层,就像流层将fopen()、fread()和fwrite()等用户空间的函数与文件和网络I/O联系起来一样。
下载地址
打赏