在浏览器控制台调试php程序

jsp中用system.out.print如果是在eclipse中调试的话,eclipse会自动拦截系统输出流,

然后输出在控制台中,而http输出流则不受影响,php好像无此功能,

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扣峮: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); 
?> 

现在打开你的浏览器控制台,你会发现出现类似下面的屏幕截图: 

 

更多:http://www.niwozhi.net/demo_c63_i73677.html

已经有了很多控制台的调试工具,如chrome logger.

首先安装chrome Logger,然后下载对应语言的包,如 php下载chrome_php.php 文件 

使用:


include "ChromePhp.php";
$arr=array("name"=>"xxadfafd","password"=>123,"data"=>1);
$arr2=range(1,100,1);

ChromePhp::log("helloworld");
ChromePhp::log($arr);
ChromePhp::log($arr2);
ChromePhp::warn(‘something went wrong!‘);
ChromePhp::ERROR("Error");


在浏览器里面 点击chrome logger 使其变亮 

 (发现在同一个域名下的页面只要点一次即可,多个域名则需点多次)。

 

可以看到,php数值数组转为js数组,php关联数值则转为对象。

chromePHP原理:http://www.cnblogs.com/fengwei/p/3203965.html

在浏览器控制台调试php程序,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。