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 相关文章推荐
PHP4实际应用经验篇(4)
Oct 09 PHP
php 中include()与require()的对比
Oct 09 PHP
php miniBB中文乱码问题解决方法
Nov 25 PHP
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
Jan 27 PHP
php命名空间学习详解
Feb 27 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
PHP的cURL库简介及使用示例
Feb 06 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
PHP开发框架laravel安装与配置教程
Mar 13 PHP
PHP、Java des加密解密实例
Apr 27 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 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
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
在Python中使用成员运算符的示例
2015/05/13 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
2016/07/15 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
Python: glob匹配文件的操作
2020/12/11 Python
python实现三种随机请求头方式
2021/01/05 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
你常见到的runtime exception
2016/09/05 面试题
Linux面试题LINUX系统类
2015/11/25 面试题
几道Java和数据库的面试题
2013/05/30 面试题
实习鉴定评语
2014/01/19 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
鸟的天堂导游词
2015/01/31 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书