Sublimetext:如何使输出到控制台?

时间:2018-09-15 13:35:15

标签: php sublimetext3

如何在Sublimetext中将输出输出到控制台?我想在控制器工作时在Sublimetext控制台中进行某种类型的调试,这有可能吗?

1 个答案:

答案 0 :(得分:1)

虽然不可能,但是您确实有一些使用PHP进行控制台日志记录的选项。

首先,有FirePHP的较新版本,它是Firefox的扩展。安装并正确使用后,它将调试数据发送到Firefox控制台。这里的问题是,除非直接下载Firefox,否则不允许安装Firefox。请参阅我链接到的页面的“关于此扩展”部分中的注释。我经常使用FirePHP,但是我将它与旧版本的Firefox一起使用,因为旧版本的Firefox更好。

第二,您可以使用ChromePHP,就像适用于Chrome的FirePHP。这是您安装的Chrome扩展程序。我不太喜欢FirePHP,但如果您是Chrome用户,那么它可能对您更好。入门指南,Use ChromePHP to debug PHP

最后(也许是最好的选择)是使用Symfony's VarDumper。有一个选项可以使用ServerDumper转储器,并记录到文件。我将其与BrowserSync结合使用。实际上,只需登录控制台即可。顺便说一下,我不确定这是否适用于Windows。

转储到文件看起来像这样:

$dumpLog = ABSPATH . 'dumpLog.txt';
file_put_contents($dumpLog, '');

VarDumper::setHandler(function ($var) use ($dumpLog) {
    $cloner = new VarCloner();
    $dumper = 'cli' === PHP_SAPI 
        ? new CliDumper() 
        : new HtmlDumper();
    $dumper->setDisplayOptions([
        'maxDepth' => 12
    ]);

    $output = '';

    $dumper->dump(
        $cloner->cloneVar($var), 
        function ($line, $depth) use (&$output) {
            if ($depth >= 0) {
                $output .= str_repeat('  ', $depth).$line."\n";
            }
        }
    );
    file_put_contents($dumpLog, $output, FILE_APPEND);
});

像这样转储到服务器:

VarDumper::setHandler(function ($var) {
    $cloner = new VarCloner();
    $dumper = new ServerDumper('tcp://127.0.0.1:9912');     
    $dumper->dump($cloner->cloneVar($var));
});

您仍然需要学习如何使用这些调试工具之一,但是希望对您有所帮助。我认为这些对于我的工作至关重要。