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 相关文章推荐
用PHP实现小型站点广告管理(修正版)
Oct 09 PHP
据说是雅虎的一份PHP面试题附答案
Jan 07 PHP
php cookie 登录验证示例代码
Mar 16 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 PHP
PHP图像处理类库MagickWand用法实例分析
May 21 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 PHP
PHP后门隐藏的一些技巧总结
Nov 04 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
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2009/11/12 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
基于Zookeeper的使用详解
2013/05/02 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
vue实现图片预览组件封装与使用
2019/07/13 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
Python常用内置函数总结
2015/02/08 Python
python爬取NUS-WIDE数据库图片
2016/10/05 Python
利用python实现对web服务器的目录探测的方法
2019/02/26 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
python中id函数运行方式
2020/07/03 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
.net C#面试题
2012/08/28 面试题
项目建议书
2015/02/04 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
运动会报道稿大全
2015/07/23 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
react国际化react-intl的使用
2021/05/06 Javascript
Go 语言结构实例分析
2021/07/04 Golang
nginx常用配置conf的示例代码详解
2022/03/21 Servers