国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP擴(kuò)展開(kāi)發(fā)教程,通過(guò)實(shí)例來(lái)展示PHP的擴(kuò)展開(kāi)發(fā)和底層應(yīng)用原理(C語(yǔ)言非zephir)

james / 3275人閱讀

摘要:主要是使用語(yǔ)言來(lái)開(kāi)發(fā)擴(kuò)展,現(xiàn)在的案例正在一步一步完善中,希望有興趣的朋友一起來(lái)加入和完善,現(xiàn)在已經(jīng)完成的案例如下登錄倉(cāng)庫(kù)地址分布創(chuàng)建您的特性分支提交您的改動(dòng)將您的改動(dòng)記錄提交到遠(yuǎn)程倉(cāng)庫(kù)然后到網(wǎng)站的該遠(yuǎn)程倉(cāng)庫(kù)的分支下發(fā)起下邊是

  

主要是使用C語(yǔ)言來(lái)開(kāi)發(fā)PHP擴(kuò)展,現(xiàn)在的案例正在一步一步完善中,希望有興趣的朋友一起來(lái)加入和完善,現(xiàn)在已經(jīng)完成的案例如下:

Dicretory Explain
hello_word php hello word extension
widuu php ini settings and read php ini configure
w_string php returning values
Contributing

登錄 https://github.com

倉(cāng)庫(kù)地址分布 http://github.com/widuu/php_ext

創(chuàng)建您的特性分支 (git checkout -b my-new-feature)

提交您的改動(dòng) (git commit -am "Added some feature")

將您的改動(dòng)記錄提交到遠(yuǎn)程 git 倉(cāng)庫(kù) (git push origin my-new-feature)

然后到 github.com 網(wǎng)站的該 git 遠(yuǎn)程倉(cāng)庫(kù)的 my-new-feature 分支下發(fā)起 Pull Request

下邊是INI的小擴(kuò)展代碼片段

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_widuu.h"


ZEND_DECLARE_MODULE_GLOBALS(widuu)



const zend_function_entry widuu_functions[] = {
    PHP_FE(read_ini,    NULL)       
    PHP_FE_END  
};

zend_module_entry widuu_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
    STANDARD_MODULE_HEADER,
#endif
    "widuu",
    widuu_functions,
    PHP_MINIT(widuu),
    PHP_MSHUTDOWN(widuu),
    NULL,       
    NULL,       
    PHP_MINFO(widuu),
#if ZEND_MODULE_API_NO >= 20010901
    PHP_WIDUU_VERSION,
#endif
    STANDARD_MODULE_PROPERTIES
};


#ifdef COMPILE_DL_WIDUU
ZEND_GET_MODULE(widuu)
#endif


PHP_INI_BEGIN()
    STD_PHP_INI_ENTRY("widuu.enable",      "1", PHP_INI_ALL, OnUpdateBool, enable, zend_widuu_globals, widuu_globals)
    STD_PHP_INI_ENTRY("widuu.size",      "42", PHP_INI_ALL, OnUpdateLong, size, zend_widuu_globals, widuu_globals)
    STD_PHP_INI_ENTRY("widuu.name", "widuu", PHP_INI_ALL, OnUpdateString, name, zend_widuu_globals, widuu_globals)
PHP_INI_END()


PHP_MINIT_FUNCTION(widuu)
{

    REGISTER_INI_ENTRIES();

    return SUCCESS;
}
/* }}} */

/* {{{ PHP_MSHUTDOWN_FUNCTION
 */
PHP_MSHUTDOWN_FUNCTION(widuu)
{

    UNREGISTER_INI_ENTRIES();

    return SUCCESS;
}
/* }}} */


/* {{{ PHP_MINFO_FUNCTION
 */
PHP_MINFO_FUNCTION(widuu)
{
    php_info_print_table_start();
    php_info_print_table_header(2, "widuu support", "enabled");
    php_info_print_table_row(2 , "author", "widuu " );
    php_info_print_table_end();

    DISPLAY_INI_ENTRIES();
}
/* }}} */

PHP_FUNCTION(read_ini){
    char *str,*varname;
    int str_len;

    if( zend_parse_parameters( ZEND_NUM_ARGS() TSRMLS_CC, "s" ,&varname,&str_len) == FAILURE){
        php_error_docref(NULL TSRMLS_CC, E_WARNING, "don"t exists parameter");
        return;
    }
    str = zend_ini_string(  varname, str_len+1, 0 );

    if (!str) {
        RETURN_FALSE;
    }

    RETURN_STRING( str , 1);
    // str = zend_ini_string("widuu.name", sizeof("widuu.name"), 0);
    //  long maxwait = zend_ini_long("widuu.size",  sizeof("widuu.size"), 0);
    // if (str == NULL) {
    //  php_error_docref("widuu.size", E_WARNING, "config not exists");
    // }
    // printf("%s
",str );
    // printf("%d
", maxwait );
    // if (name != NULL){
    //  printf("%s
", name);
    // }
    // RETURN_FALSE;

}
函數(shù) string read_ini(string parameter);
echo read_ini("widuu.name");

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/21032.html

相關(guān)文章

  • PHP擴(kuò)展開(kāi)發(fā)教程1 - 相關(guān)開(kāi)發(fā)技術(shù)對(duì)比及介紹

    摘要:四使用語(yǔ)言開(kāi)發(fā)是我重點(diǎn)推薦的擴(kuò)展開(kāi)發(fā)框架,簡(jiǎn)明易懂,功能強(qiáng)大,開(kāi)發(fā)效率高,代碼易維護(hù),執(zhí)行速度快。優(yōu)點(diǎn)三支持,的擴(kuò)展開(kāi)發(fā)有兩套擴(kuò)展開(kāi)發(fā)框架,分別支持,,雖然框架代碼有兩個(gè),但是接口卻是一樣的。 PHP擴(kuò)展是高級(jí)PHP程序員必須了解的技能之一,對(duì)于一個(gè)初入門(mén)的PHP擴(kuò)展開(kāi)發(fā)者,怎么才能開(kāi)發(fā)一個(gè)成熟的擴(kuò)展,進(jìn)入PHP開(kāi)發(fā)的高級(jí)領(lǐng)域呢?本系列開(kāi)發(fā)教程將手把手帶您從入門(mén)進(jìn)入高級(jí)階段。本教程系列...

    alaege 評(píng)論0 收藏0
  • Zephir--最簡(jiǎn)單php擴(kuò)展開(kāi)發(fā)工具

    摘要:更多關(guān)于的技術(shù)文章的擴(kuò)展是用語(yǔ)言編寫(xiě),是語(yǔ)言引擎,內(nèi)核。見(jiàn)提供了一種類似的高級(jí)語(yǔ)言語(yǔ)法的方式,來(lái)自動(dòng)生成擴(kuò)展的語(yǔ)言代碼,使編寫(xiě)擴(kuò)展變得非常的簡(jiǎn)單。直接修改該文件的代碼,使用原擴(kuò)展的編輯方法也是可以滴。 更多關(guān)于PHP的技術(shù)文章http://www.codefrom.com/ php的擴(kuò)展是用c語(yǔ)言編寫(xiě),Zend是語(yǔ)言引擎,PHP內(nèi)核。在實(shí)際編寫(xiě)php擴(kuò)展的時(shí)候,需要使用大量的...

    dinfer 評(píng)論0 收藏0
  • 使用 Zephir 輕松構(gòu)建 PHP 擴(kuò)展

    摘要:簡(jiǎn)介通過(guò)擴(kuò)展,我們可以在代碼中使用一些特定的方法大部分的擴(kuò)展都是用寫(xiě)的。這個(gè)目錄與我們的擴(kuò)展同名。我們先來(lái)在擴(kuò)展中創(chuàng)建一個(gè)類,使用此類來(lái)渲染。接下來(lái)命令行執(zhí)行以下命令來(lái)編譯擴(kuò)展第一次運(yùn)行以上命令時(shí),會(huì)初始化一些東西。 showImg(https://segmentfault.com/img/remote/1460000018698586); 簡(jiǎn)介: 通過(guò) PHP 擴(kuò)展, 我們可以在 p...

    gaosboy 評(píng)論0 收藏0
  • Zephir入門(mén) —— Hello world篇

    摘要:概述是一個(gè)開(kāi)源的用于簡(jiǎn)化擴(kuò)展的創(chuàng)建和維護(hù)的語(yǔ)言。它使得不擅長(zhǎng)的開(kāi)發(fā)人員也能寫(xiě)出擴(kuò)展。是縮寫(xiě),讀音為。然后我們?cè)诶镎{(diào)用方法正常的話會(huì)輸出。至此我們也完成了我們的第一個(gè)擴(kuò)展。 概述 Zephir是一個(gè)開(kāi)源的用于簡(jiǎn)化PHP擴(kuò)展的創(chuàng)建和維護(hù)的語(yǔ)言。它使得不擅長(zhǎng)C/C++的PHP開(kāi)發(fā)人員也能寫(xiě)出PHP擴(kuò)展。Zephir是Zend Engine/PHP/Intermediate縮寫(xiě),讀音為zep...

    Vicky 評(píng)論0 收藏0
  • PHP 擴(kuò)展開(kāi)發(fā)Zephir 基礎(chǔ)篇

    摘要:變量作為函數(shù)返回值時(shí),必須聲明為動(dòng)態(tài)類型。動(dòng)態(tài)變量與中的變量基本完全相同支持在使用時(shí)改變類型。比較運(yùn)算符在運(yùn)算時(shí)考慮變量類型,如果是動(dòng)態(tài)變量與一致。與不一致,語(yǔ)句可以沒(méi)有,表示忽略所有異常。 上一篇 《Zephir 簡(jiǎn)介》 簡(jiǎn)單介紹了環(huán)境搭建,編寫(xiě)了一個(gè)的簡(jiǎn)單示例。這一篇繼續(xù)介紹 Zephir 基礎(chǔ)。 基本語(yǔ)法Zephir 中,每個(gè)文件都必須有且只有一個(gè)類,每個(gè)類都必須有一個(gè)命名空間,...

    wawor4827 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<