利用浏览器的Javascript控制台调试PHP程序


Posted in PHP onJanuary 08, 2014

PHP是一种服务器端脚本语言,用来开发动态web应用程序。与JAVA相比,没有一个好的服务器端调试工具是其限制之一。通常我们都是在PHP代码中添加echo、var_dump等语句,将变量、数组的值显示在浏览器中来达到调试的目的。

现在,越来越多的浏览器都有了开发这工具或者Javascript控制台,通过这些工具,我们可以很方便的显示PHP代码中的变量或数组值。下面我们来做一个例子。例子中的PHP代码有四个跟踪级别:info, warn, log, error,开发人员可以使用浏览器控制台来显示错误变量,数组值。

将下面代码拷贝到PHP文件中,并保存为WebConsole.php

<?php 
class WebConsole { private static function write($data, $type = 'info') { 
$method_types = array('error', 'info', 'log', 'warn'); 
$msg_type = '';(PS:T不错的PHP Q扣?n:304224365,验证:csl) 
if(in_array($type, $method_types)) { 
$msg_type = sprintf("console.%s", $type); 
}else { 
$msg_type = sprintf("console.%s", 'info'); 
} 
if(is_array($data)) { 
echo("<script>$msg_type('".implode(', ', $data)."');</script>"); 
} else { 
echo("<script>$msg_type('".$data."');</script>"); 
} 
} 
public static function info($data) { 
self::write($data); 
} 
public static function error($data) { 
self::write($data, 'error'); 
} 
public static function log($data) { 
self::write($data, 'log'); 
} 
public static function warn($data) { 
self::write($data, 'warn'); 
} 
} 
?>

现在,导入WebConsole类,并使用跟踪功能。
<?php 
require_once('WebConsole.php'); 
$fruits = array('apple', 'mange', 'banana'); 
WebConsole::log($fruits); 
WebConsole::info($fruits); 
WebConsole::warn($fruits); 
WebConsole::error($fruits); 
?>

现在打开你的浏览器控制台,你会发现出现类似下面的屏幕截图:
利用浏览器的Javascript控制台调试PHP程序
PHP 相关文章推荐
第八节 访问方式 [8]
Oct 09 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
Mar 26 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
Sep 28 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php file_get_contents取文件中数组元素的方法
Apr 01 PHP
PHP实现批量删除(封装)
Apr 28 PHP
基于PHP-FPM进程池探秘
Oct 17 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 PHP
PHP优化之批量操作MySQL实例分析
Apr 23 PHP
php的单例模式及应用场景详解
Feb 27 PHP
php获取从百度搜索进入网站的关键词的详细代码
Jan 08 #PHP
PHP IE中下载附件问题解决方法
Jan 07 #PHP
迅速确定php多维数组的深度的方法
Jan 07 #PHP
ini_set的用法介绍
Jan 07 #PHP
PHP中HTML标签过滤技巧
Jan 07 #PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 #PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 #PHP
You might like
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
python中使用xlrd、xlwt操作excel表格详解
2015/01/29 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
介绍Python中几个常用的类方法
2015/04/08 Python
python 日志增量抓取实现方法
2018/04/28 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
【python】matplotlib动态显示详解
2019/04/11 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
演讲比赛获奖感言
2014/02/02 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
党员个人党性分析材料
2014/12/18 职场文书
先进工作者个人总结
2015/02/15 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
Redis全局ID生成器的实现
2022/06/05 Redis