利用浏览器的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 相关文章推荐
收藏的一个php小偷的核心程序
Apr 09 PHP
php实现的常见排序算法汇总
Sep 08 PHP
php导出CSV抽象类实例
Sep 24 PHP
php自定文件保存session的方法
Dec 10 PHP
php实现四舍五入的方法小结
Mar 03 PHP
php文件上传的两种实现方法
Apr 04 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
thinkPHP中_initialize方法实例分析
Dec 05 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
浅谈php常用的7大框架的优缺点
Jul 20 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者的疑难问答(1)
2006/10/09 PHP
小偷PHP+Html+缓存
2006/11/25 PHP
php 文件上传系统手记
2009/10/26 PHP
php 生成文字png图片的代码
2011/04/17 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
2014/01/09 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
使用async await 封装 axios的方法
2018/07/09 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
在Python中使用Neo4j数据库的教程
2015/04/16 Python
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
python实现类之间的方法互相调用
2018/04/29 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
Python实现端口检测的方法
2018/07/24 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
供货协议书
2014/04/22 职场文书
师德师风建设方案
2014/05/08 职场文书
八项规定对照检查材料
2014/08/31 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis