• 在浏览器控制台调试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

  • 相关阅读:
    Controller返回值string、mv等区别
    CA证书目的和详细演化过程
    HashMap和Hashtable的区别
    操作系统-IO管理疑难点
    IO核心子系统
    操作系统-IO管理概述
    文件管理疑难点
    磁盘组织与管理
    文件系统实现
    文件系统基础
  • 原文地址:https://www.cnblogs.com/youxin/p/3629048.html
Copyright © 2020-2023  润新知