PHP扩展简单概念

对PHP 进行的某项扩展(Extend)我们就称之为PHP的一个扩展(Extension)(有时也被人称之为模块:Module)。扩展有两类四种(我认为 PHP 手册上只有三种的分法是值得商榷的)。

按其二进制代码相对于PHP自身的位置不同,可以分为内建的(Build-in)和外部的(External)。所谓内 建的是指该扩展在编译时被编译进了 PHP,调用该扩展的代码等就跟调用 PHP 原来自带的代码等毫无二致。而“外部的”扩展就是指该扩展被单独编译成一个模块,若想使用就必须使用 dl() 函数或者在 php.ini 中利用类似extension= xxx的指令手动加载。两者各有优缺。内建扩展被自然编译进 PHP 代码,调用时避免了加载过程,性能较外部扩展略强。其缺点就是与 PHP 代码结合度太高,一旦扩展有个风吹草动,你就不得不重新对 PHP 进行编译。而外部扩展的优缺点则恰好与内建扩展相反。

按其所处语言层次的不同,扩展可分为 PHP 扩展和 Zend 扩展。自 PHP 4 开始,Andi Gutmans 和 Zeev Suraski为 PHP 引入了 Zend 引擎(Zend Engine) 以便把 PHP 语言自身和PHP所提供一些外部功能区分开来。Zend引擎负责处理 PHP 语言本身,假如你想给PHP 语法引入一个新的操作符(比如“A bs B”表示变量A 鄙视 变量 B)或者是想修改一下 PHP 本身的运行机制,那做一个 Zend 扩展就很合适。如果你的扩展只是想让 PHP 在上传时可以自动生成一个进度条图片,那这个扩展我们就称之为 PHP 扩展。用一句形象的话来说就是:Zend 扩展主内,PHP 扩展主外。

Zend 扩展的架构和PHP 扩展的架构基本一样,只是处理层次的有所不同。由于 PHP 扩展不牵涉到 PHP自身的内部架构,因此一般情况下,开发一个 PHP 扩展要比开发开发一个 Zend 扩展容易一些。MySQL 扩展,GD 扩展都是PHP 扩展,本文所举的例子也是一个 PHP 扩展。Zend 扩展常见的有 APC、ZendOptimizer等。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值