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 getsiteurl()函数
Sep 05 PHP
php 生成饼图 三维饼图
Sep 28 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
php switch语句多个值匹配同一代码块应用示例
Jul 29 PHP
主流PHP框架的优缺点对比分析
Dec 25 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
Apr 07 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
Laravel重定向,a链接跳转,控制器跳转示例
Oct 22 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删除数组中指定下标的元素方法
2018/02/03 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
广告显示判断
2006/08/31 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
js 窗口抖动示例
2013/09/04 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
手把手教你python实现SVM算法
2017/12/27 Python
python中的常量和变量代码详解
2018/07/25 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
TheFork葡萄牙:欧洲领先的在线餐厅预订平台
2019/05/27 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
servlet面试题
2012/08/20 面试题
在职研究生自我鉴定
2013/10/16 职场文书
新闻编辑自荐信
2013/11/03 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
企业法人代表任命书
2014/06/06 职场文书
创文明城市标语
2014/06/16 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
杭白菊导游词
2015/02/10 职场文书
教师学期末个人总结
2015/02/13 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android