摘要:主要是使用語(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 |
登錄 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函數(shù) string read_ini(string parameter);" ); 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; }
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
摘要:四使用語(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í)階段。本教程系列...
摘要:更多關(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í)候,需要使用大量的...
摘要:簡(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...
摘要:概述是一個(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...
摘要:變量作為函數(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è)命名空間,...
閱讀 1820·2021-11-23 09:51
閱讀 927·2021-10-08 10:05
閱讀 3421·2021-09-26 09:55
閱讀 1030·2021-09-22 15:21
閱讀 1626·2021-09-09 09:33
閱讀 1238·2019-08-30 15:56
閱讀 1275·2019-08-30 15:55
閱讀 958·2019-08-30 13:19