前言
本文主要給大家介紹關(guān)于PHP-X內(nèi)置函數(shù)的使用,在PHP擴展開發(fā)中,會經(jīng)常用到這些內(nèi)置函數(shù),PHP-X的封裝,使得調(diào)用這些函數(shù)像PHP代碼一樣簡單。
對php-x不熟悉的朋友們可以看下這篇文章:https://segmentfault.com/a/1190000011111074
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.\n", 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í)行??梢允褂胕nclude在擴展中引入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.\n", 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");
}
global
獲取全局變量的值。包括PHP的超全局變量和其他PHP代碼使用global關(guān)鍵詞聲明的全局變量。
PHPX_FUNCTION(cpp_test)
{
//相當于 $_GET
auto a = global("_GET");
//相當于 global $config
auto b = global("config");
}
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。