摘要:主要是使用語言來開發(fā)擴展,現(xiàn)在的案例正在一步一步完善中,希望有興趣的朋友一起來加入和完善,現(xiàn)在已經(jīng)完成的案例如下登錄倉庫地址分布創(chuàng)建您的特性分支提交您的改動將您的改動記錄提交到遠程倉庫然后到網(wǎng)站的該遠程倉庫的分支下發(fā)起下邊是
主要是使用C語言來開發(fā)PHP擴展,現(xiàn)在的案例正在一步一步完善中,希望有興趣的朋友一起來加入和完善,現(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
倉庫地址分布 http://github.com/widuu/php_ext
創(chuàng)建您的特性分支 (git checkout -b my-new-feature)
提交您的改動 (git commit -am "Added some feature")
將您的改動記錄提交到遠程 git 倉庫 (git push origin my-new-feature)
然后到 github.com 網(wǎng)站的該 git 遠程倉庫的 my-new-feature 分支下發(fā)起 Pull Request
下邊是INI的小擴展代碼片段
#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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21032.html
摘要:四使用語言開發(fā)是我重點推薦的擴展開發(fā)框架,簡明易懂,功能強大,開發(fā)效率高,代碼易維護,執(zhí)行速度快。優(yōu)點三支持,的擴展開發(fā)有兩套擴展開發(fā)框架,分別支持,,雖然框架代碼有兩個,但是接口卻是一樣的。 PHP擴展是高級PHP程序員必須了解的技能之一,對于一個初入門的PHP擴展開發(fā)者,怎么才能開發(fā)一個成熟的擴展,進入PHP開發(fā)的高級領(lǐng)域呢?本系列開發(fā)教程將手把手帶您從入門進入高級階段。本教程系列...
摘要:更多關(guān)于的技術(shù)文章的擴展是用語言編寫,是語言引擎,內(nèi)核。見提供了一種類似的高級語言語法的方式,來自動生成擴展的語言代碼,使編寫擴展變得非常的簡單。直接修改該文件的代碼,使用原擴展的編輯方法也是可以滴。 更多關(guān)于PHP的技術(shù)文章http://www.codefrom.com/ php的擴展是用c語言編寫,Zend是語言引擎,PHP內(nèi)核。在實際編寫php擴展的時候,需要使用大量的...
摘要:簡介通過擴展,我們可以在代碼中使用一些特定的方法大部分的擴展都是用寫的。這個目錄與我們的擴展同名。我們先來在擴展中創(chuàng)建一個類,使用此類來渲染。接下來命令行執(zhí)行以下命令來編譯擴展第一次運行以上命令時,會初始化一些東西。 showImg(https://segmentfault.com/img/remote/1460000018698586); 簡介: 通過 PHP 擴展, 我們可以在 p...
摘要:概述是一個開源的用于簡化擴展的創(chuàng)建和維護的語言。它使得不擅長的開發(fā)人員也能寫出擴展。是縮寫,讀音為。然后我們在里調(diào)用方法正常的話會輸出。至此我們也完成了我們的第一個擴展。 概述 Zephir是一個開源的用于簡化PHP擴展的創(chuàng)建和維護的語言。它使得不擅長C/C++的PHP開發(fā)人員也能寫出PHP擴展。Zephir是Zend Engine/PHP/Intermediate縮寫,讀音為zep...
摘要:變量作為函數(shù)返回值時,必須聲明為動態(tài)類型。動態(tài)變量與中的變量基本完全相同支持在使用時改變類型。比較運算符在運算時考慮變量類型,如果是動態(tài)變量與一致。與不一致,語句可以沒有,表示忽略所有異常。 上一篇 《Zephir 簡介》 簡單介紹了環(huán)境搭建,編寫了一個的簡單示例。這一篇繼續(xù)介紹 Zephir 基礎(chǔ)。 基本語法Zephir 中,每個文件都必須有且只有一個類,每個類都必須有一個命名空間,...
閱讀 1830·2021-11-23 09:51
閱讀 950·2021-10-08 10:05
閱讀 3434·2021-09-26 09:55
閱讀 1045·2021-09-22 15:21
閱讀 1635·2021-09-09 09:33
閱讀 1274·2019-08-30 15:56
閱讀 1287·2019-08-30 15:55
閱讀 971·2019-08-30 13:19