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访问查询mysql数据的三种方法
Oct 09 PHP
php中目录,文件操作详谈
Mar 19 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
PHP5.5在windows安装使用memcached服务端的方法
Apr 16 PHP
php实现RSA加密类实例
Mar 26 PHP
PHP实现GIF图片验证码
Nov 04 PHP
php精度计算的问题解析
Jun 21 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
Mar 23 PHP
PHP数组与字符串互相转换实例
May 05 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
漂亮但不安全的CTB
2006/10/09 PHP
用PHP实现小型站点广告管理
2006/10/09 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
PHP7修改的函数
2021/03/09 PHP
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
学习ExtJS 访问容器对象
2009/10/07 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
利用Python获取操作系统信息实例
2016/09/02 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
Python函数装饰器实现方法详解
2018/12/22 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
python视频按帧截取图片工具
2019/07/23 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
七一讲话心得体会
2014/09/05 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
安全教育主题班会总结
2015/08/14 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python
Nginx反向代理配置的全过程记录
2021/06/22 Servers