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 相关文章推荐
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
PHP is_dir() 判断给定文件名是否是一个目录
May 10 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
WordPress中创建用户角色的相关PHP函数使用详解
Dec 25 PHP
Zend Framework缓存Cache用法简单实例
Mar 19 PHP
PHP上传图片类显示缩略图功能
Jun 30 PHP
THinkPHP获取客户端IP与IP地址查询的方法
Nov 14 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 PHP
Yii redis集合的基本使用教程
Jun 14 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新手上路(十一)
2006/10/09 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
php中取得文件的后缀名?
2012/02/20 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
打包发布Python模块的方法详解
2016/09/18 Python
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
python+opencv实现动态物体追踪
2018/01/09 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
python实现批量转换图片为黑白
2020/06/16 Python
python打开文件的方式有哪些
2020/06/29 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
柯基袜:Corgi Socks
2017/01/26 全球购物
员工工作表扬信范文
2014/01/13 职场文书
给分销商的致歉信
2014/01/14 职场文书
文明村镇申报材料
2014/05/06 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
2014年招生工作总结
2014/11/26 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书