摘要:本文主要介紹內(nèi)置函數(shù)的使用,在擴展開發(fā)中,會經(jīng)常用到這些內(nèi)置函數(shù),的封裝,使得調(diào)用這些函數(shù)像代碼一樣簡單。的使用方法與語言的是完全一致的。包括的超全局變量和其他代碼使用關(guān)鍵詞聲明的全局變量。
本文主要介紹PHP-X內(nèi)置函數(shù)的使用,在PHP擴展開發(fā)中,會經(jīng)常用到這些內(nèi)置函數(shù),PHP-X的封裝,使得調(diào)用這些函數(shù)像PHP代碼一樣簡單。
echo在擴展中需要輸出一些內(nèi)容,可以使用echo函數(shù)。echo的使用方法與C語言的printf是完全一致的。具體請參考printf相關(guān)文章。
在命令行環(huán)境(cli),echo會打印屏幕
在php-fpm或apache中,echo會輸出內(nèi)容到瀏覽器客戶端
PHPX_FUNCTION(cpp_test) { echo("a=%d, b=%f, c=%s. ", args[0].toInt(), args[1].toFloat(), args[2].toCString()); }var_dump
開發(fā)調(diào)試PHP程序時,經(jīng)常需要打印一些變量的值。PHP提供了var_dump函數(shù)來打印變量。在PHP-X中也可以使用var_dump,這個函數(shù)接受一個Variant對象。
PHPX_FUNCTION(cpp_test) { var_dump(args[0]); }include
包含PHP文件。注意文件不存在會拋出致命錯誤。正確加載后,此PHP文件中的代碼將被執(zhí)行。可以使用include在擴展中引入PHP代碼實現(xiàn)的類和函數(shù)。
PHPX_FUNCTION(cpp_test) { include("/data/php/library/Autoloader.php"); }error
打印PHP錯誤日志,相當于PHP的trigger_error函數(shù)。此函數(shù)與echo很相似,唯一不同的插入了第一個參數(shù),來接受錯誤等級,如E_ERROR或E_WARNING。
PHPX_FUNCTION(cpp_test) { error(E_ERROR, "error: a=%d, b=%f, c=%s. ", args[0].toInt(), args[1].toFloat(), args[2].toCString()); }constant
獲取常量的值。此函數(shù)可以用于獲取define定義的常量以及const定義的類常量。
PHPX_FUNCTION(cpp_test) { auto a = constant("PHP_VERSION"); auto b = constant("PDO::VERSION"); var_dump(a); var_dump(b); }global
獲取全局變量的值。包括PHP的超全局變量和其他PHP代碼使用global關(guān)鍵詞聲明的全局變量。
PHPX_FUNCTION(cpp_test) { //相當于 $_GET auto a = global("_GET"); //相當于 global $config auto b = global("config"); var_dump(a); var_dump(b); }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/30645.html
摘要:接著上一篇文章,本文開始在擴展內(nèi)實現(xiàn)類的定義和對象操作。因此定義類,需要在的回調(diào)中進行。使用類名方法名即可。連接成功連接失敗在中不僅可以創(chuàng)建擴展內(nèi)置的類,還可以創(chuàng)建代碼定義的類。 接著上一篇文章,本文開始在擴展內(nèi)實現(xiàn)類的定義和對象操作。基于PHP-X提供的封裝,使用C++語言可以輕松地實現(xiàn)一個PHP的類,還可以在C++代碼中創(chuàng)建任意PHP對象,調(diào)用對象方法、讀寫對象的屬性。 0x00 ...
摘要:四使用語言開發(fā)是我重點推薦的擴展開發(fā)框架,簡明易懂,功能強大,開發(fā)效率高,代碼易維護,執(zhí)行速度快。優(yōu)點三支持,的擴展開發(fā)有兩套擴展開發(fā)框架,分別支持,,雖然框架代碼有兩個,但是接口卻是一樣的。 PHP擴展是高級PHP程序員必須了解的技能之一,對于一個初入門的PHP擴展開發(fā)者,怎么才能開發(fā)一個成熟的擴展,進入PHP開發(fā)的高級領(lǐng)域呢?本系列開發(fā)教程將手把手帶您從入門進入高級階段。本教程系列...
摘要:這里看到,表明你的擴展已經(jīng)加載成功了,現(xiàn)在就可以調(diào)用這個擴展函數(shù)了。是不是很簡單更多上面的例子還比較簡單,只是編寫了一個擴展函數(shù)。 PHP-X是我在2017年年初創(chuàng)建的一個新項目。這個項目的目標就是讓有一定工作經(jīng)驗的PHP程序都能夠具備擴展開發(fā)的能力。 0x00 初衷 從2012年開始編寫swoole,現(xiàn)在算來已經(jīng)有5個年頭了。我發(fā)現(xiàn)編寫一個 PHP 擴展這個工作非常艱難。PHP 程序...
摘要:總得來說,從大三開始到入職奇虎這年,一直處于自己探索階段,各種折騰,浪費了不少青春,收獲總得來說不是很大。入職奇虎之后,有了一份穩(wěn)定的工作,從此一天當作兩天來用,惡補我之前浪費的青春。 經(jīng)過緊張的開發(fā),我終于費了九牛二虎之力將 zendAPI 的項目官網(wǎng)做好上線了,眨眼已經(jīng)入職奇虎一年了,我也走完了我的職業(yè)生涯規(guī)劃的第一年,別問我之前4年干啥去了,我去瀟灑了 (拉著幾個大學同學創(chuàng)業(yè)去了...
摘要:今天介紹怎么編譯的各種函數(shù)和語法。對于相關(guān)的匹配規(guī)則,除了匹配結(jié)尾的文件,還應(yīng)該去除文件夾下的第三庫的文件發(fā)布前已經(jīng)被處理好了。它需要在我們項目的入口文件中被引入,或者在中配置。個人網(wǎng)站原文鏈接系列教程二編譯 今天介紹webpack怎么編譯ES6的各種函數(shù)和語法。敲黑板:這是webpack4版本哦, 有一些不同于webpack3的地方。 >>> 本節(jié)課源碼 >>> 所有課程源碼 1....
閱讀 881·2023-04-26 03:03
閱讀 2206·2021-10-12 10:12
閱讀 1201·2021-09-24 09:48
閱讀 1645·2021-09-22 15:25
閱讀 3332·2021-09-22 15:15
閱讀 914·2019-08-29 16:21
閱讀 1063·2019-08-28 18:00
閱讀 3423·2019-08-26 13:44