摘要:前面兩篇介紹了,從此可以開發自己的擴展了,可畢竟是通過轉換而來,雖然很方便,可對于擴展還是一知半解,也無法判斷其好壞,所以還是要了解下用原生的方法是怎么開發一個擴展的。這樣我們就創建了一個非常簡單的擴展,雖是很簡單的擴展,可還是比復雜很多。
前面兩篇介紹了 Zephir ,從此可以開發自己的擴展了,可畢竟是通過轉換而來,雖然很方便,可對于擴展還是一知半解,也無法判斷其好壞,所以還是要了解下用原生的方法是怎么開發一個 PHP 擴展的。
本文以 php-7.2.15 為例
創建擴展骨架
# 源碼路徑 cd /usr/local/src/php-7.2.15/ext ./ext_skel --extname=twinkle_log
提示如下
提示已創建好基礎文件,如果想使用這個新擴展,需要噼里啪啦這么些布驟,先記著就好。
修改config.m4
cd twinkle_log vi config.m4
這兩塊注釋選一個先打開,具體含義后面文章再說明,我們選下面的
創建自己的方法
vi twinkle_log.c
聲明該方法
注意大小寫敏感
編譯安裝
/usr/local/php72/bin/phpize ./configure --with-php-config=/usr/local/php72/bin/php-config make make install
填加擴展
vi /usr/local/php72/lib/php.ini # 填加擴展 extension=twinkle_log
測試一下
擴展安裝成功
執行腳本
php -f test.php執行成功。
這樣我們就創建了一個非常簡單的擴展,雖是很簡單的擴展,可還是比 Zephir 復雜很多。
當然他啥用也沒有,沒有涉汲到內存管理,沒有使用指針,做了這一些操作,也不知道是啥意思,帶著疑問,我們慢慢深入研究。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30951.html
摘要:下載源代碼要開發擴展,需要先下載的源代碼,一方面是因為我們的擴展一般會用到自身定義的函數和宏,另一方面我們可以利用官方提供的工具減少工作量。重點關注,,即可,最簡單的場景下這三個文件就是一個擴展的全部組成部分了。 下載PHP源代碼 要開發PHP擴展,需要先下載PHP的源代碼,一方面是因為我們的擴展一般會用到PHP自身定義的函數和宏,另一方面我們可以利用官方提供的工具減少工作量。我下載了...
摘要:四使用語言開發是我重點推薦的擴展開發框架,簡明易懂,功能強大,開發效率高,代碼易維護,執行速度快。優點三支持,的擴展開發有兩套擴展開發框架,分別支持,,雖然框架代碼有兩個,但是接口卻是一樣的。 PHP擴展是高級PHP程序員必須了解的技能之一,對于一個初入門的PHP擴展開發者,怎么才能開發一個成熟的擴展,進入PHP開發的高級領域呢?本系列開發教程將手把手帶您從入門進入高級階段。本教程系列...
摘要:二下載第一個擴展第一個擴展的源碼已經在上準備好了,直接用命令克隆,或者手工下載都可以。第四步確認擴展已經安裝成功使用命令可以查看目前已經安裝的所有擴展。 PHP擴展是高級PHP程序員必須了解的技能之一,對于一個初入門的PHP擴展開發者,怎么才能開發一個成熟的擴展,進入PHP開發的高級領域呢?本系列開發教程將手把手帶您從入門進入高級階段。本教程系列在linux下面開發(推薦使用cento...
摘要:起步最近在看擴展開發中文教程的版。擴展是什么用過的人一定也用過擴展。本身帶有個擴展,擴展是對語言功能的一個延伸,的核心由兩部分組成最底層的引擎和內核。額外不使用工具寫擴展一個擴展為避免與寫過的沖突,采用作為名字,至少包含個文件。 起步 最近在看 《PHP擴展開發中文教程》 的pdf版。PHP的解釋器是用C語言寫的,所以PHP擴展自然也是用C 語言了。 擴展是什么 用過php的人一定也用...
摘要:概述是一個開源的用于簡化擴展的創建和維護的語言。它使得不擅長的開發人員也能寫出擴展。是縮寫,讀音為。然后我們在里調用方法正常的話會輸出。至此我們也完成了我們的第一個擴展。 概述 Zephir是一個開源的用于簡化PHP擴展的創建和維護的語言。它使得不擅長C/C++的PHP開發人員也能寫出PHP擴展。Zephir是Zend Engine/PHP/Intermediate縮寫,讀音為zep...
閱讀 2142·2021-10-12 10:11
閱讀 843·2021-10-09 09:41
閱讀 3757·2021-09-09 11:37
閱讀 1933·2021-09-08 10:41
閱讀 2634·2019-08-30 12:58
閱讀 2369·2019-08-30 10:58
閱讀 1272·2019-08-26 13:40
閱讀 4098·2019-08-26 13:36