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 相关文章推荐
require(),include(),require_once()和include_once()的异同
Jan 02 PHP
PHP 创建标签云函数代码
May 26 PHP
php记录代码执行时间(实现代码)
Jul 05 PHP
CodeIgniter中使用cookie的三种方式详解
Jul 18 PHP
thinkphp循环结构用法实例
Nov 24 PHP
php微信公众平台开发类实例
Apr 01 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
Aug 23 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
laravel框架中间件简单使用方法示例
Jan 25 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之字符串变相相减的代码
2007/03/19 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
Django开发中复选框用法示例
2018/03/20 Python
python学生管理系统
2019/01/30 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
什么是索引指示器
2012/08/20 面试题
请假条怎么写
2014/04/10 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
2019 入党申请书范文
2019/07/10 职场文书
业余无线电通联Q语
2022/02/18 无线电