php class使用方法,PHP调试类Krumo使用教程

写程序最讨厌的是程序发生错误,但是却又不知道该从何debug起,我们通常会使用print_r 或者 var_dump 或者是 echo 慢慢的debug。如果你跟我一样使用PHP 5开发,现在可以使用Krumo这个简单好用的工具帮助我们做这件事情。

虽然IDE也有内建的debug工具,但是并不是每个人都使用IDE来进行PHP的开发,这时候Krumo就可以大展身手,即使使用IDE来开发,我相信Krumo也可以帮忙我们节省不少时间。但是由于Krumo只支援PHP 5,所以使用PHP 4的朋友只好说声抱歉,或者是将PHP升级到5。

当我们下载Krumo之后,只需要将Krumo的路径设定在INCLUDE_PATH或者是将完整路径写在class.krumo.php里面,Krumo是使用CSS和树状目录来显示debug讯息,所以在krumo.ini这个设定档里面我们可以选择我们想要使用的skin,debug工具也有skin可以选?没错,你没有看错,真的是这样。

使用Krumo的方法:

首先去下载一个Krumo http://sourceforge.net/projects/krumo/ 解压在一个有运行权限的目录下,然后用include_once '../krumo/class.krumo.php';将Krumo导入进来,接下来就enjoy it!如果你用的是eclipse开发环境的话,将Krumo的路径包含到

PHP Include Path里的话,可以大幅减少eclipse的警告。操作步骤如下:

右击工程的PHP Include Path目录,选择如下:

2013-7-3-13-19-06.png

接下来选择库选项卡:

2013-7-3-13-20-22.png

在这个选项卡里单击Add External Source Folder……,选择你的krumo路径:

2013-7-3-13-21-00.png

确定之后就可以从eclipse里面看到krumo的信息了,还可以使用eclipse的代码补全,很方便吧

c892a66900c4250c429cbcc5c082d55d.png

2013-7-3-13-23-52.png

给出一段测试krumo强大功能的代码:

header("Content-type: text/html; charset=utf-8");

include_once '../krumo/class.krumo.php';

echo "我可以打印\$_GET变量:";

krumo::get();

echo "输出http header信息:";

krumo::headers();

echo "两种方式打印数组:";

$array=array(1=>'hao123',2=>'tudou',3=>'2333');

echo "原生的:";

krumo::dump($array);

echo "没有修改过的,你可以自定义这个函数的名称:";

krumo($array);

// 打印调试追踪

krumo::backtrace();

// 打印所有 included(or required) 文件

krumo::includes();

// 打印所有 included 函数

krumo::functions();

// 打印所有声明了的类

krumo::classes();

// 打印所有define常量

krumo::defines();

测试效果,很强大吧:

2013-7-3-13-54-241.png

此外我们也可以动态的开启或关闭Krumo

// disable Krumo

krumo::disable();

// Krumo is disabled, nothing is printed

krumo::includes();

// enable Krumo

krumo::enable();

// Krumo is enable, printing is OK

krumo::classes();

特别是在数组有嵌套的时候,Krumo折叠的功能将发挥出强大的效果!

2013-7-3-14-27-411.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 连接数组,matlab数组操作知识点总结

其实如果单从建模来讲,以下大部分函数都用不到,但是这些都是基础。第一点:数组与矩阵概念的区分数组:与其它编程语言一样,定义是:相同数据类型元素的集合。矩阵:在数学中,矩阵(Matri…

(组合数求模=乘法逆元+快速幂) Problem Makes Problem

题目: As I am fond of making easier problems, I discovered a problem. Actually, the problem is ‘how can you make n by adding k non-negative integers?’ I think a small example will make things clear. Suppose n4 and k3. There are 15 solutions.…

(小费马定理降幂)Sum

题目: 分析与解答: 参考思路: https://www.cnblogs.com/stepping/p/7144512.html https://blog.csdn.net/strangedbly/article/details/50996908 根据隔板定理,把N分成一份的分法数为C(1,n-1), 把N分成两份的分法…

matlab 参数识别,[转载]自编最小二乘法的Matlab参数辨识程序(含实例)

function [sysd,sys,err] ID(Y,U,Ts)%%基于递推最小二乘法的参数辨识程序%仅针对二阶系统:)%出处:http://blog.sina.com.cn/xianfa110%---------------%Inputs:%---------------%Y nX1 vector of your model output%U nX1 vector of your model input…

让apache解析html里的php代码,让Apache解析html文件中的php语句

为什么要干这种事呢?原因在于:对于纯粹的网页来说(不涉及对于数据库的操作),可以使用一些软件来生成html代码。推荐软件Axure但是,当生成html文件之后,你发现还要写php语句对数据库进行操作时,就会遇到一些问题。首先&…

(lucas) Saving Beans

题目: Although winter is far away, squirrels have to work day and night to save beans. They need plenty of food to get through those long cold days. After some time the squirrel family thinks that they have to solve a problem. They suppose that…

(矩阵快速幂)解所有类似Fibonacci 的题目

Description In the Fibonacci integer sequence, F0 0, F1 1, and Fn Fn − 1 Fn − 2 for n ≥ 2. For example, the first ten terms of the Fibonacci sequence are: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, … An alternative formula for the Fibonacci sequence is Gi…

php getdbused,PHP之购物车

该文章记录了购物车的实现代码,仅供参考book_sc_fns.phpinclude_once(output_fns.php);include_once(book_fns.php);include_once(db_fns.php);include_once("user_auth_fns.php");include_once("admin_fns.php");include_once("data_vali…

2018.9.15,Arduino—流水灯实验报告

实验任务和目的 通过Arduino控制LED形成流水灯效果 实验条件 Arduino UNO,面包板,6个LED,6个220Ω电阻 实验过程和结果 实验详细步骤: 在各LED正极和Arduino引脚之间串联一个限流电阻,并将LED负极与Arduion的GND相连 …

2018.9.10.Matlab实验一:熟悉Matlab开发环境

一、实验任务和目的 1. 熟悉Matlab的系统环境及基本操作方法。 2. 掌握Matlab的搜索路径及其设置方法。 3. 熟悉Matlab的帮助信息的查阅方法。 二、实验内容 1. 熟悉 Matlab 工作界面的多个常用窗口的及使用方法。 熟悉Command windows、Workspace、Command history、C…

2018.9.10.Matlab实验二:Matlab基本运算

实验二:Matlab基本运算 一、实验任务和目的 1. 掌握变量的定义与数据类型。 2. 掌握变量的初始化方法。 3. 掌握数组、多维数组与子数组的定义、存储、赋值、变换。 4. 掌握逻辑数组的用法。 5. 熟悉MATLAB常用的函数、常用标点和快捷键。 二、实验内容 1. …

2018.9.15,Matlab实验三:字符串、单元数组和结构体

一、实验任务和目的 掌握Matlab的字符串常用函数及其操作方法。掌握Matlab的结构体的基本操作方法。掌握Matlab的元胞数组的基本操作方法。 二、实验内容字符串数组Str[‘hopes, dreams, hold up, old up’],查找’O’出现的次数和位置。现有三个字符串变量s1“i”…

c++ 不能分配给为0的数组_【嵌入式C】你有想过quot;数组下标quot;为何从0开始吗?...

1、聊一聊相信大家都有看过电影,今天所分享的是其经典背景音乐,或许音乐响起你又会想起那条单纯、善良的秋田犬!今天跟大家聊聊一个有意思的话题,C中的数组下标为啥是从0开始?或者说为什么现在大部分的编程语言都会选择从0开始索…

2018.9.19.Matlab实验四:Matlab程序设计

一、实验任务和目的 熟悉程序设计思想。掌握伪代码的编写方法。掌握分支语句和循环结构的用法。 二、实验内容 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100为A,80-89为B,70-79为C,60-69为D&#…

sata接口 图解 定义_SATA协议简介

SATA协议简介1、概述本文档主要介绍SATA的发展历程以及SATA相关协议,为后续SATA驱动框架分析做基础知识准备。2、SATA简介2.1 SATA发展历程2.1.1 PATA硬盘PATA硬盘叫做并行ATA硬盘(Parellel ATA)。为了限制其信号放大系统产生的高噪声,常采用高达5V的电压…

30岁软件测试转产品_SENSORO 产品总监回特入选 2019 年福布斯中国 30 岁以下精英榜...

日前,福布斯中国发布 2019 年度 30 岁以下精英榜(30 Under 30),SENSORO(北京升哲科技有限公司)产品总监回特 成功入选 U30 精英榜企业科技版块。福布斯中国表示,今年技术领域人才辈出&#xff0…

pagehelper插件oracle,带你学习最简单的分页插件PageHelper

引言:PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库, 例如mysql、 oracle、mariaDB、 DB2、 SQLite、Hsqldb等。今天墨白就给大家聊聊PageHelper这款分页插件,下面是PageHelper开源地址,感兴趣的小伙伴可以去看一下…

实验5matlab自定义函数的编写

问题 自定义一个函数,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数。自定义一个函数,计算一行向量中各元素的均值和标准差。求下列方程的根: f(z)exx2xx100.f(z) \ e^{x}x^{2}x^{\sqrt {x}}100\,. f(z) exx2xx…

ic读卡器设置工具_从Matlab被禁来看,给IC教育带来哪些启发?

在上周五看到朋友圈转发包云岗老师就Matlab被禁后在某论坛的发言,在阅读的当时就很有感触,本想当晚就写点东西,不曾想拖到了现在。包老师的梳理的几个点,是结合教学和应用来谈的。在IC教育培训方面,我对这些观点也深以…