• 技术文章 >后端开发 >php教程

    扩展你的 PHP 之入门篇_PHP教程

    2016-07-21 15:59:33原创364
    扩展你的php

    1. 扩展你的php
    2. 扩展的3种方式
    3. extension dll方式的扩展
    4. 小结

      首先注意,以下所有的一切皆在 win 下进行,使用的工具的 VC++6.0。

    扩展你的PHP
      PHP以方便快速的风格迅速在web系统开发中占有了重要地位. PHP本身提供了丰富的大量的函数及功能. 长话短说. 我们看看我们如何进行扩展.

    扩展的3种方式

    3 种方式的优缺点可参见 PHP 手册:http://www.php.net/manual/en/zend.possibilities.php

    extension dll

    1、首先我们去下个 php 的 source. 可以看到有以下几个重要的目录。ext,main,TSRM,Zend,另外我们可能还需要 bindlib_w32(需要你从 cvs 上下),及 PHP 目录下的 php4ts.lib。

    2、打开 VC,新建一个 Win32 Dynamic-Link Library,如下图:

    3、点 ok,选择“An Empty Dll Project”,点击完成。

    4、设置 Build 的 Active Configuration,选 Release:)

    5、Project->settings

    预定义标识. 整个如下:

    ZEND_DEBUG=0, COMPILE_DL_BINZY, ZTS=1, ZEND_WIN32, PHP_WIN32, HAVE_BINZY=1

    这个是包含路径,上面所提及的几个路径都可以加入。

    选择 Multithreaded DLL。

    取名时随便的,要 link php4ts.lib~~
    o,忘了,别忘了加上 /Tc 的参数:

    6、写代码.

      建个头,建个身体。
    Binzy.h

    // Binzy Wu
    // 2004-4-9
    // PHP Extension

    #if HAVE_BINZY
    extern zend_module_entry binzy_module_entry
    ;
    #define binzy_module_ptr &binzy_module_entry

    PHP_FUNCTION(hellobinzy);
    //
    PHP_MINFO_FUNCTION(binzy);
    //
    #endif

    Binzy.c

    // Binzy Wu
    // 2004-4-9
    // PHP Extension

    #include "php.h"
    #include "Binzy.h"

    #if HAVE_BINZY

    #if COMPILE_DL_BINZY
    ZEND_GET_MODULE(binzy
    )
    #endif

    function_entry binzy_functions
    [] = {
    PHP_FE(hellobinzy, NULL
    )
    {
    NULL, NULL, NULL
    }
    };

    zend_module_entry binzy_module_entry
    = {
    STANDARD_MODULE_HEADER
    ,
    "binzy", binzy_functions, NULL, NULL, NULL, NULL, PHP_MINFO(binzy), NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES
    };

    PHP_MINFO_FUNCTION(binzy
    )
    {
    php_info_print_table_start
    ();
    php_info_print_table_row(2, "Binzy Extension", "Enable"
    );
    php_info_print_table_end
    ();
    }

    PHP_FUNCTION(hellobinzy
    )
    {
    zend_printf("Hello Binzy"
    );
    }

    #endif

    7、编译,修改 php.ini,restart apache,写个 php

    hellobinzy();
    ?>

    hoho~~~

    phpinfo();

    小结
      这算入门篇, 以后再一步步来~~. 慢慢深入, 有些我也不了解的。 偶是初学者。

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/317382.htmlTechArticle扩展你的php 扩展你的php 扩展的3种方式 extension dll方式的扩展 小结 首先注意,以下所有的一切皆在 win 下进行,使用的工具的 VC++6.0。 扩展...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:扩展 你的 PHP 入门 扩展 你的 php 3种 方式 extension dll 小结 首先 注意 以下
    上一篇:一段防盗连的PHP代码_PHP教程 下一篇:一个PHP日历程序_PHP教程
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• PHP开发惯用函数和必须会的函数总结 -带例子• 那些年一行学习的PHP(一)• php如何采集或者 调用 .net开发的 webservice• php实现通过cookie换肤的方法,php实现cookie换肤_PHP教程• 浅谈php扩展imagick_PHP教程
    1/1

    PHP中文网