前言
本文主要給大家介紹關(guān)于PHP-X內(nèi)置函數(shù)的使用,在PHP擴(kuò)展開發(fā)中,會(huì)經(jīng)常用到這些內(nèi)置函數(shù),PHP-X的封裝,使得調(diào)用這些函數(shù)像PHP代碼一樣簡單。
對php-x不熟悉的朋友們可以看下這篇文章:https://segmentfault.com/a/1190000011111074
echo
在擴(kuò)展中需要輸出一些內(nèi)容,可以使用echo函數(shù)。echo的使用方法與C語言的printf是完全一致的。具體請參考printf相關(guān)文章。
- 在命令行環(huán)境(cli),echo會(huì)打印屏幕
- 在php-fpm或apache中,echo會(huì)輸出內(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程序時(shí),經(jīng)常需要打印一些變量的值。PHP提供了var_dump函數(shù)來打印變量。在PHP-X中也可以使用var_dump,這個(gè)函數(shù)接受一個(gè)Variant對象。
PHPX_FUNCTION(cpp_test)
{
var_dump(args[0]);
}
include
包含PHP文件。注意:文件不存在會(huì)拋出致命錯(cuò)誤。正確加載后,此PHP文件中的代碼將被執(zhí)行。可以使用include在擴(kuò)展中引入PHP代碼實(shí)現(xiàn)的類和函數(shù)。
PHPX_FUNCTION(cpp_test)
{
include("/data/php/library/Autoloader.php");
}
error
打印PHP錯(cuò)誤日志,相當(dāng)于PHP的trigger_error函數(shù)。此函數(shù)與echo很相似,唯一不同的插入了第一個(gè)參數(shù),來接受錯(cuò)誤等級,如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)
{
//相當(dāng)于 $_GET
auto a = global("_GET");
//相當(dāng)于 global $config
auto b = global("config");
}
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。