PHP-X系列教程之內置函數的使用示例
前言
本文主要給大家介紹關于PHP-X內置函數的使用,在PHP擴展開發(fā)中,會經常用到這些內置函數,PHP-X的封裝,使得調用這些函數像PHP代碼一樣簡單。
對php-x不熟悉的朋友們可以看下這篇文章:https://segmentfault.com/a/1190000011111074
echo
在擴展中需要輸出一些內容,可以使用echo函數。echo的使用方法與C語言的printf是完全一致的。具體請參考printf相關文章。
- 在命令行環(huán)境(cli),echo會打印屏幕
- 在php-fpm或apache中,echo會輸出內容到瀏覽器客戶端
PHPX_FUNCTION(cpp_test) { echo("a=%d, b=%f, c=%s.\n", args[0].toInt(), args[1].toFloat(), args[2].toCString()); }
var_dump
開發(fā)調試PHP程序時,經常需要打印一些變量的值。PHP提供了var_dump函數來打印變量。在PHP-X中也可以使用var_dump,這個函數接受一個Variant對象。
PHPX_FUNCTION(cpp_test) { var_dump(args[0]); }
include
包含PHP文件。注意:文件不存在會拋出致命錯誤。正確加載后,此PHP文件中的代碼將被執(zhí)行。可以使用include在擴展中引入PHP代碼實現的類和函數。
PHPX_FUNCTION(cpp_test) { include("/data/php/library/Autoloader.php"); }
error
打印PHP錯誤日志,相當于PHP的trigger_error函數。此函數與echo很相似,唯一不同的插入了第一個參數,來接受錯誤等級,如E_ERROR或E_WARNING。
PHPX_FUNCTION(cpp_test) { error(E_ERROR, "error: a=%d, b=%f, c=%s.\n", args[0].toInt(), args[1].toFloat(), args[2].toCString()); }
constant
獲取常量的值。此函數可以用于獲取define定義的常量以及const定義的類常量。
PHPX_FUNCTION(cpp_test) { auto a = constant("PHP_VERSION"); auto b = constant("PDO::VERSION"); }
global
獲取全局變量的值。包括PHP的超全局變量和其他PHP代碼使用global關鍵詞聲明的全局變量。
PHPX_FUNCTION(cpp_test) { //相當于 $_GET auto a = global("_GET"); //相當于 global $config auto b = global("config"); }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
用PHP ob_start()控制瀏覽器cache、生成html實現代碼
Output Control 函數可以讓你自由控制腳本中數據的輸出。它非常地有用,特別是對于:當你想在數據已經輸出后,再輸出文件頭的情況。2010-02-02php注冊系統(tǒng)和使用Xajax即時驗證用戶名是否被占用
這篇文章主要為大家詳細介紹了php注冊系統(tǒng)和使用Xajax即時驗證用戶名是否被占用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08php獲得客戶端瀏覽器名稱及版本的方法(基于ECShop函數)
這篇文章主要介紹了php獲得客戶端瀏覽器名稱及版本的方法,基于ECShop函數get_user_browser實現該功能,非常具有實用價值,需要的朋友可以參考下2015-12-12