利用浏览器的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代码
Sep 10 PHP
PHP 危险函数解释 分析
Apr 22 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
PHP5 字符串处理函数大全
Mar 23 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
php实现图片文件与下载文件防盗链的方法
Nov 03 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
PHP实现添加购物车功能
Mar 06 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 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 函数使用方法与函数定义方法
2010/05/09 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
vue组件的写法汇总
2018/04/12 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
详解Python发送邮件实例
2016/01/10 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
python带参数打包exe及调用方式
2019/12/21 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
财务出纳员岗位职责
2013/11/26 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
党员作风建设整改方案
2014/10/27 职场文书
小学运动会开幕词
2015/01/28 职场文书
办公室日常管理制度
2015/08/04 职场文书