资讯专栏INFORMATION COLUMN

PHP-X 系列教程:内置函数的使用

_Zhao / 3066人阅读

摘要:本文主要介绍内置函数的使用,在扩展开发中,会经常用到这些内置函数,的封装,使得调用这些函数像代码一样简单。的使用方法与语言的是完全一致的。包括的超全局变量和其他代码使用关键词声明的全局变量。

本文主要介绍PHP-X内置函数的使用,在PHP扩展开发中,会经常用到这些内置函数,PHP-X的封装,使得调用这些函数像PHP代码一样简单。

echo

在扩展中需要输出一些内容,可以使用echo函数。echo的使用方法与C语言的printf是完全一致的。具体请参考printf相关文章。

在命令行环境(cli),echo会打印屏幕

php-fpmapache中,echo会输出内容到浏览器客户端

PHPX_FUNCTION(cpp_test)
{
    echo("a=%d, b=%f, c=%s.
", 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错误日志,相当于PHPtrigger_error函数。此函数与echo很相似,唯一不同的插入了第一个参数,来接受错误等级,如E_ERRORE_WARNING

PHPX_FUNCTION(cpp_test)
{
    error(E_ERROR, "error: a=%d, b=%f, c=%s.
", 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");
    var_dump(a);
    var_dump(b);
}
global

获取全局变量的值。包括PHP的超全局变量和其他PHP代码使用global关键词声明的全局变量。

PHPX_FUNCTION(cpp_test)
{
    //相当于 $_GET
    auto a = global("_GET");
    //相当于 global $config
    auto b = global("config");
    var_dump(a);
    var_dump(b);
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30645.html

相关文章

  • PHP-X 系列教程:扩展内定义类和对象

    摘要:接着上一篇文章,本文开始在扩展内实现类的定义和对象操作。因此定义类,需要在的回调中进行。使用类名方法名即可。连接成功连接失败在中不仅可以创建扩展内置的类,还可以创建代码定义的类。 接着上一篇文章,本文开始在扩展内实现类的定义和对象操作。基于PHP-X提供的封装,使用C++语言可以轻松地实现一个PHP的类,还可以在C++代码中创建任意PHP对象,调用对象方法、读写对象的属性。 0x00 ...

    cpupro 评论0 收藏0
  • PHP扩展开发教程1 - 相关开发技术对比及介绍

    摘要:四使用语言开发是我重点推荐的扩展开发框架,简明易懂,功能强大,开发效率高,代码易维护,执行速度快。优点三支持,的扩展开发有两套扩展开发框架,分别支持,,虽然框架代码有两个,但是接口却是一样的。 PHP扩展是高级PHP程序员必须了解的技能之一,对于一个初入门的PHP扩展开发者,怎么才能开发一个成熟的扩展,进入PHP开发的高级领域呢?本系列开发教程将手把手带您从入门进入高级阶段。本教程系列...

    alaege 评论0 收藏0
  • 如何基于 PHP-X 快速开发一个 PHP 扩展

    摘要:这里看到,表明你的扩展已经加载成功了,现在就可以调用这个扩展函数了。是不是很简单更多上面的例子还比较简单,只是编写了一个扩展函数。 PHP-X是我在2017年年初创建的一个新项目。这个项目的目标就是让有一定工作经验的PHP程序都能够具备扩展开发的能力。 0x00 初衷 从2012年开始编写swoole,现在算来已经有5个年头了。我发现编写一个 PHP 扩展这个工作非常艰难。PHP 程序...

    callmewhy 评论0 收藏0
  • 我为什么要做 zendAPI 项目

    摘要:总得来说,从大三开始到入职奇虎这年,一直处于自己探索阶段,各种折腾,浪费了不少青春,收获总得来说不是很大。入职奇虎之后,有了一份稳定的工作,从此一天当作两天来用,恶补我之前浪费的青春。 经过紧张的开发,我终于费了九牛二虎之力将 zendAPI 的项目官网做好上线了,眨眼已经入职奇虎一年了,我也走完了我的职业生涯规划的第一年,别问我之前4年干啥去了,我去潇洒了 (拉着几个大学同学创业去了...

    MyFaith 评论0 收藏0
  • webpack4 系列教程(二): 编译 ES6

    摘要:今天介绍怎么编译的各种函数和语法。对于相关的匹配规则,除了匹配结尾的文件,还应该去除文件夹下的第三库的文件发布前已经被处理好了。它需要在我们项目的入口文件中被引入,或者在中配置。个人网站原文链接系列教程二编译 今天介绍webpack怎么编译ES6的各种函数和语法。敲黑板:这是webpack4版本哦, 有一些不同于webpack3的地方。 >>> 本节课源码 >>> 所有课程源码 1....

    graf 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<