PHP扩展开发-分享会.pptx

PHP扩展开发-分享会.pptx

ID:52986965

大小:307.69 KB

页数:17页

时间:2020-04-08

PHP扩展开发-分享会.pptx_第1页
PHP扩展开发-分享会.pptx_第2页
PHP扩展开发-分享会.pptx_第3页
PHP扩展开发-分享会.pptx_第4页
PHP扩展开发-分享会.pptx_第5页
资源描述:

《PHP扩展开发-分享会.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PHP扩展开发更多内容请见2015-04-14下午分享会NTSorTSNoneThreadSafe(非线程安全)ThreadSafe(线程安全)开发环境WindowsORLinuxX86ORX64Windows环境VC6(MicrosoftVisualC++6.0)VC9(MicrosoftVisualStudio2008)VC11(MicrosoftVisualStudio2012)Cygwin64ORCygwin_X86Php-depsphp-sdk-binary-toolsPhp源码Windows开发流程Buildconfconfigure

2、ext_skel_win32.php参数--extname扩展名称--proto定义文件编译Linux开发流程ext_skel--extname扩展名称--proto定义文件config.m4PHP_ARG_WITH(example,forexamplesupport,[--with-example[=FILE]Includeexamplesupport.Fileistheoptionalpathtoexample-config])PHP_ARG_WITH(example-extra,forextralibrariesforexample,[--

3、with-example-extra=DIRexample:Locationofextralibrariesforexample],no,no)Linux开发流程Phpizeconfigure--with-php-config=/usr/local/php/bin/php-configMakeMakeinstall函数声明宏语义PHP_MINIT_FUNCTION()当PHP被装载时,模块启动函数即被引擎调用。这使得引擎做一些例如资源类型,注册INI变量等的一次初始化。PHP_MSHUTDOWN_FUNCTION()当PHP完全关闭时,模块关闭函

4、数即被引擎调用。通常用于注销INI条目PHP_RINIT_FUNCTION()在每次PHP请求开始,请求前启动函数被调用。通常用于管理请求前逻辑。PHP_RSHUTDOWN_FUNCTION()在每次PHP请求结束后,请求前关闭函数被调用。经常应用在清理请求前启动函数的逻辑。PHP_MINFO_FUNCTION()调用phpinfo()时模块信息函数被呼叫,从而打印出模块信息。PHP的变量typedefstruct_zval_struct{zvalue_valuevalue;zend_uintrefcount;zend_uchartype;zen

5、d_ucharis_ref;}zval;typedefunion_zvalue_value{longlval;doubledval;struct{char*val;intlen;}str;HashTable*ht;zend_object_valueobj;}zvalue_value;typedefstruct_zval_structzval;宏访问对象C类型Z_LVAL,Z_LVAL_P,Z_LVAL_PP整型值longZ_BVAL,Z_BVAL_P,Z_BVAL_PP布尔值zend_boolZ_DVAL,Z_DVAL_P,Z_DVAL_PP浮点

6、值doubleZ_STRVAL,Z_STRVAL_P,Z_STRVAL_PP字符串值char*Z_STRLEN,Z_STRLEN_P,Z_STRLEN_PP字符串长度值intZ_RESVAL,Z_RESVAL_P,Z_RESVAL_PP资源值longZ_ARRVAL,Z_ARRVAL_P,Z_ARRVAL_PP联合数组HashTable*Z_TYPE,Z_TYPE_P,Z_TYPE_PPZval类型Enumeration(IS_NULL,IS_LONG,IS_DOUBLE,IS_STRING,IS_ARRAY,IS_OBJECT,IS_BOOL,

7、IS_RESOURCE)Z_OBJPROP,Z_OBJPROP_P,Z_OBJPROP_PP对象属性hash(本章不会谈到)HashTable*Z_OBJCE,Z_OBJCE_P,Z_OBJCE_PP对象的类信息(本章不会谈到)zend_class_entry获取参数zend_parse_parameters(intnum_argsTSRMLS_DC,char*type_spec, …);类型指定符对应的C类型描述llong符号整数ddouble浮点数schar*,int二进制字符串,长度bzend_bool逻辑型(1或0)rzval*资源(文件

8、指针,数据库连接等)azval*联合数组ozval*任何类型的对象Ozval*指定类型的对象。需要提供目标对象的类类型zzval*无任何

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。