PHP-X系列教程之内置函数的使用示例


Posted in PHP onOctober 16, 2017

前言

本文主要给大家介绍关于PHP-X内置函数的使用,在PHP扩展开发中,会经常用到这些内置函数,PHP-X的封装,使得调用这些函数像PHP代码一样简单。

对php-x不熟悉的朋友们可以看下这篇文章:https://segmentfault.com/a/1190000011111074

echo

在扩展中需要输出一些内容,可以使用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");
}

global

获取全局变量的值。包括PHP的超全局变量和其他PHP代码使用global关键词声明的全局变量。

PHPX_FUNCTION(cpp_test)
{
 //相当于 $_GET
 auto a = global("_GET");
 //相当于 global $config
 auto b = global("config");
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
PHP 登录记住密码实现思路
May 07 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
Jan 24 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
Zend Framework分发器用法示例
Dec 11 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
php封装单文件上传到数据库(路径)
Oct 15 #PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 #PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 #PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 #PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 #PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 #PHP
PHP长网址与短网址的实现方法
Oct 13 #PHP
You might like
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
Javascript window对象详解
2014/11/12 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
简述JS控制台的使用
2018/07/15 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
js实现点击烟花特效
2020/10/14 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
9种python web 程序的部署方式小结
2014/06/30 Python
Python对数据库操作
2016/03/28 Python
用python写PDF转换器的实现
2020/10/29 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
保送生自荐信范文
2013/10/06 职场文书
大学生秋游活动方案
2014/02/17 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
信用卡催款律师函
2015/05/27 职场文书
预备党员党支部意见
2015/06/02 职场文书
CSS实现漂亮的时钟动画效果的实例代码
2021/03/30 HTML / CSS
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
一篇文章带你复习java知识点
2021/06/28 Java/Android