Sublime Text:如何输出到控制台?

问题描述 投票:0回答:1

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

php sublimetext3
1个回答
1
投票

虽然不可能,但您可以使用PHP进行控制台日志记录。

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

其次,您可以使用ChromePHP,就像FirePHP for Chrome一样。它是您安装的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));
});

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

© www.soinside.com 2019 - 2024. All rights reserved.