《PHP核心技术与最佳实践》错误和输出API

php中文网
发布: 2016-06-20 12:35:24
原创
1327人浏览过

php内核中不能简单地使用printf()函数打印数据,因为php有自己一套管理输出流的函数,如果调用printf()函数打印数据,很有可能出现意想不到的结果。下面了解php的输出api。

1) php_printf()函数:php_printf()跟C语言标准库的printf()函数很相似,唯一不同的就是php_printf()函数指向的是Zend的输出流,其原型如下:PHPAPI int php_printf(const char *format,...);第一个参数指定输出字符串的格式,格式参数跟printf()函数一样,例如:

php_printf("This is number:%d\n",10);

2) zend_error()函数:zend_error()函数用于输出一个错误信息,原型如下:ZEND_API void zend_error(int type,const *format,...);第一个参数指定错误信息的类型,第二个参数指定错误提醒消息。下面列出所有的错误信息类型:

E_ERROR:抛出一个错误,然后立即中止脚本的执行;

立即学习PHP免费学习笔记(深入)”;

E_WARNING:抛出一个一般性的警告,脚本会继续执行;

E_NOTICE:抛出一个通知,脚本会继续执行,注意默认情况下php.ini会关闭显示这种错误;

E_CORE_ERROR:抛出一个PHP内核错误,通常情况下这种错误类型不应该被用户自己编写的模块引用;

E_COMPILE_ERROR:抛出一个编译器内部错误,通常情况下这种错误不应该被用户自己编写的模块引用;

E_COMPILE_WARNING:抛出一个编译器内部警告,同上也不应该被用户自己编写的模块引用;

挖错网
挖错网

一款支持文本、图片、视频纠错和AIGC检测的内容审核校对平台。

挖错网 28
查看详情 挖错网

一示例代码如下:zend_error(E_WARNING,"This is warning message.");

3) 向phpinfo()中输出信息:一般完成一个扩展之后,希望使用者了解到这个扩展的一些信息,最直接的方法就是用phpinfo()函数打印,这里就需要实现ZEND_MINFO()函数,,当调用phpinfo()函数时,ZEND_MINFO()函数会自动被调用。

如果指定ZEND_MINFO()函数,phpinfo()会自动打印一小节,小节的头部就是模块名,如果还想显示更多的信息就要自己指定。

PHP内核提供的以表格格式显示信息的接口一般需要三个步骤:

1)调用php_info_print_table_start函数制定表格(该函数没有参数)

2)调用php_info_print_table_handler和php_info_print_table_row这两个函数打印表格具体的行列信息

2)调用php_info_print_table_end函数来结束(该函数没有参数)

php_info_print_table_header()需要的参数会根据需要而变化:

void php_info_print_table(int cols,"header str of col1",...,"header str of coln");

void php_info_print_table_row(int cols,"str content of col1",...,"str content of coln");

这两个函数不同的地方就是它们打印的颜色不一样。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号