164
PHP-X 系列教程:内置函数的使用 - 个人文章 - SegmentFault
source link: https://segmentfault.com/a/1190000011568918?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
本文主要介绍PHP-X
内置函数的使用,在PHP
扩展开发中,会经常用到这些内置函数,PHP-X
的封装,使得调用这些函数像PHP
代码一样简单。
在扩展中需要输出一些内容,可以使用echo
函数。echo
的使用方法与C
语言的printf
是完全一致的。具体请参考printf
相关文章。
- 在命令行环境(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
开发调试PHP
程序时,经常需要打印一些变量的值。PHP
提供了var_dump
函数来打印变量。在PHP-X
中也可以使用var_dump
,这个函数接受一个Variant
对象。
PHPX_FUNCTION(cpp_test) { var_dump(args[0]); }
include
包含PHP
文件。注意文件不存在会抛出致命错误。正确加载后,此PHP
文件中的代码将被执行。可以使用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"); var_dump(a); var_dump(b); }
global
获取全局变量的值。包括PHP
的超全局变量和其他PHP
代码使用global
关键词声明的全局变量。
PHPX_FUNCTION(cpp_test) { //相当于 $_GET auto a = global("_GET"); //相当于 global $config auto b = global("config"); var_dump(a); var_dump(b); }
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK