利用浏览器的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 相关文章推荐
增加反向链接的101个方法 站长推荐
Jan 31 PHP
php 中的str_replace 函数总结
Apr 27 PHP
php程序之die调试法 快速解决错误
Sep 17 PHP
php在文件指定行中写入代码的方法
May 23 PHP
浅析PHP 按位与或 (^ 、&amp;)
Jun 21 PHP
php加密解密实用类分享
Jan 07 PHP
php出现web系统多域名登录失败的解决方法
Sep 30 PHP
PHP实现的带超时功能get_headers函数
Feb 10 PHP
php递归删除指定文件夹的方法小结
Apr 20 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
Dec 10 PHP
php开发时容易忘记的一些技术细节
Feb 03 PHP
Linux下 php7安装redis的方法
Nov 01 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邮件类
2007/01/03 PHP
php错误级别的设置方法
2013/06/17 PHP
php链表用法实例分析
2015/07/09 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
php post换行的方法
2020/02/03 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
Python requests模块实例用法
2019/02/11 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
关于抽烟的检讨书
2014/02/25 职场文书
结婚喜宴主持词
2014/03/14 职场文书
黄金搭档广告词
2014/03/21 职场文书
小露珠教学反思
2014/04/30 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
MySQL深分页问题解决思路
2022/12/24 MySQL