php的扩展和嵌入--总纲
初步接触了php开发以及php扩展的相关内容,发现extending and embeded php这本书很不错,很多问题也讲的非常透彻。这里把读到的一些书中的内容和自己的实践结合起来展示一下,既是给自己留档,也是抛砖引玉,期待php大牛的指导。
extending and embeded php这本书还有一个中文版,有些东西新一些,也可以参考下:
http://www.walu.cc/phpbook/preface.md
这本书主要讲两个方面:
extending and embeded php这本书还有一个中文版,有些东西新一些,也可以参考下:
http://www.walu.cc/phpbook/preface.md
这本书主要讲两个方面:
如何通过添加函数、类、资源和流的方式来扩展php
- 如何把php语言嵌入到其他应用中去那么为什么需要php扩展呢?:
- 连接额外的库,并以api的形式提供给用户空间的脚本。比如被封装好的mysql
- 是在第三方的库和php的核心之间提供一种扩展,因此php被称为是胶水语言
- 进行特殊的内部操作,比如声明超级变量,用户空间因为安全原因是有限制的。比如php的advanced php debugger 和runkit主要就是干这个的
- 速度原因:令牌化、编译、运行,Opcode可以缩减前两步,但是执行这一步的话还是变成C code比较好。
- 在不暴露出源码的情况下提供功能
下图中给出了php的总体结构:
其中各部分模块的功能如下:
SAPI:是跟web server的接口层PHP Core:对于核心事件的连接层,处理类似于文件处理、错误处理这类操作Zend Engine:把脚本编译成机器语言,执行bytecode,读入写出用户空间变量,控制程序流,解析扩展。TSRM:thread safe resource management:使得一个单个的php实例具有能够同时处理很多独立的请求的能力这本书分成了三个部分,第一个部分是对php的重新介绍,主要叙述了php的解释器如何黏合在一起。第二个部分则主要在讲php的扩展,所涉及的方面如下:- PHP API 一些php内部的函数和宏
- 如何把php脚本转换成c code:每个php的脚本的背后都牵涉到了c语言的相应处理,这种对应关系对扩展的开发十分有用
- 执行那些用户空间不可能的操作:很多时候需要执行一些类似于超级变量这种在用户态无法完成的动作,这个时候需要利用扩展进行相应的处理。而第三个部分则是叙述如何把php嵌入到相应的应用中去:
- 首先是给应用加上相应的php支持
- 其次是充分利用php相应的安全特性
- 最后则是说明php如何同时处理多个请求由于刚刚开始学习php,所以一些错误再所难免,请一定指正。
>更多相关文章
- 02-25谷歌推行Tango 3D智能视效手机开发项目
- 12-22php $_server应用
- 12-22PHP 解决一次因压缩代码引发的死循环
- 12-22php jquery 多文件上传
- 12-22该如何使用thinkphp分表呢?
- 12-22thinkPHP模板的输出和模型的使用
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御