此包的最新版本(v1.4.1)没有可用的许可证信息。

针对网页和命令行环境的快速调试

v1.4.1 2016-09-01 13:29 UTC

This package is auto-updated.

Last update: 2024-09-09 14:24:47 UTC


README

  • X 是一个 PHP 函数集合,用于在网页或命令行界面中快速调试 PHP。

  • X 是一种替代常见的 php print_r/var_dump 调试方法的工具。

  • X 提供了一种在实时环境中方便调试的方法。

使用方法

<?php
new MathiasGrimm\X\X();

// common php
echo "<pre>";
print_r($GLOBALS);
print_r($_POST);
print_r($_GET);
echo "</pre>";

// X
x($GLOBAS, $_POST, $_GET);

// ------------------------------------

// common php
echo "<pre>";
foreach ($_FILES as $file) {
    print_r($file);
}
echo "</pre>";

// X
foreach ($_FILES as $file) {
    x($file);
}

// ------------------------------------

// common php
echo "<pre>";
print_r($_REQUEST);
print_r($_POST);
die;

// X
xd($_REQUEST, $_POST);

输出

$aLang = array(
   'PHP',
   'Java',
   'JavaScript'
);

x(1, 2, 3, $aLang);

将打印

DEBUG X
File: /Users/mathiasgrimm/Google Drive/projects/github/x/test/XTest.php
Line: 15

ARG [0]
1

ARG [1]
2

ARG [2]
3

ARG [3]
Array
(
    [0] => PHP
    [1] => Java
    [2] => JavaScript
)

实时环境调试

通常情况下,实时环境很难调试,但 X 使得这个过程不那么糟糕。

假设你想调试网站的登录页面,同时又不希望成百万正在使用你网站的公开用户看到任何不同。

通常你需要一种方法来说明你处于调试环境,比如通过一个替代的入口点、一个 URL 开关或其他任何方式。

在这种情况下,我将假设你有两个入口点:index.php 和 index2.php。index2.php 将允许调试输出更详细。

<?php
// index.php
define('IS_DEBUG', false);

// initialize X
new MathiasGrimm\X\X(IS_DEBUG);

// ...

?>

<?php
// index2.php
define('IS_DEBUG', true);

// initialize X
new MathiasGrimm\X\X(IS_DEBUG);

// ...

?>


<?php
// LoginController.php
class LoginController
{
// ...

    public function loginAction($username, $password)
    {
        // common php
        if (IS_DEBUG) {
            print_r($_SESSION);
            die();
        }
        
        // X
        xd($_SESSION);
    }
}
?>

X 函数将始终可用,但只有在调试启用时才会输出信息。

使用 composer 安装

将以下内容添加到你的项目 composer.json 中

	"require": {
        "mathiasgrimm/x": "dev-master"
    }

Packagist

感谢

Mathias Grimm