【发布时间】:2018-09-15 13:35:15
【问题描述】:
如何在 Sublimetext 中将输出输出到控制台?我想在控制器工作时对 Sublimetext 控制台进行某种类型的调试,有可能吗?
【问题讨论】:
标签: php sublimetext3
如何在 Sublimetext 中将输出输出到控制台?我想在控制器工作时对 Sublimetext 控制台进行某种类型的调试,有可能吗?
【问题讨论】:
标签: php sublimetext3
虽然不可能,但您确实有一些使用 PHP 进行控制台日志记录的选项。
首先,有一个更新版本的FirePHP,它是Firefox 的扩展。正确设置和使用后,它会将调试数据发送到 Firefox 控制台。这里的问题是 Firefox 的安全性不允许安装它,除非您直接下载它。请参阅我链接到的页面的“关于此扩展程序”部分中的注释。 FirePHP我用的比较多,但是我用的是老版本的火狐,因为老版本的火狐更好。
其次,你可以使用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));
});
您仍然需要学习如何使用这些调试工具之一,但希望这对您有所帮助。我认为这些对我的工作至关重要。
【讨论】: