寫乙個最簡單的將字串全部變成大寫的函式:
<?php
function my_toupper($str)
echo my_toupper('demo');
?>
現在我們開發乙個php擴充套件,實現my_toupper的功能。
step1:
php提供了乙個擴充套件框架生成器:ext_skel,這個工具在php原始碼的ext目錄(我的是/usr/local/src/php-5.6.17/ext/)下。首先我們在php原始碼的ext目錄下建立乙個orlion.skel檔案,檔案內容為:
string my_toupper(string str)
這個檔案就是要告訴ext_skel我們的擴充套件裡有my_toupper這個函式,接下來執行:
這一步會在當前目錄下建立乙個資料夾orlion。目錄結構這樣的:
這時候這個擴充套件的框架就搭建好了。
step2:
修改orlion目錄下的config.m4,將這個檔案第10、11、12行的dnl去掉:
就是將
改為:
step3:
接下來就是要實現我們的功能了,開啟orlion.c,然後找到函式php_function(my_toupper),修改為如下:
然後編譯擴充套件,依次執行:
$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
step4:
將擴充套件新增到php中,首先將我們擴充套件中的orlion/mudules/orlion.so拷貝到php的擴充套件目錄:
然後修改配置php.ini在檔案最後邊加上"extension=orlion.so"然後重啟php-fpm。
step5:
寫個test.php檔案測試一下:
<?php
var_dump(my_toupper('abc'));
?>
執行一下可以看到輸出了abc,success! PHP7擴充套件開發入門
我們可以在ext目錄下看到所有的php原生擴充套件,其中包括了熟悉的curl,json,mbstring,xml,sockets等擴充套件,還有很多沒有用過甚至沒有聽說過的擴充套件,不用在意這些,我們先開啟我們最熟悉的curl來看看,有config.m4配置檔案,有php curl.h,curl f...
php擴充套件開發入門demo示例
一www.cppcns.com 進入php原始碼包,找到ext資料夾 cd owndata software php 5.4.13 ext 資料夾下放的都是php的相關擴充套件模組 二 生成自己的擴充套件資料夾和相關檔案 php支援開發者開發自己的擴充套件,提供了ext skel骨架,用來構建擴充套...
php擴充套件開發
php擴充套件 pecl 跟php引擎一樣都是使用c語言開發。php核心開發組成員鳥哥laruence使用的是vim進行php開發。書籍 案例 php src ext pecl開發郵件組 盡量編寫一些phpt測試用例,php src tests下有很多參考.測試時用 enable debug編譯ph...