如何在Laravel中像Django中的print一样打印一些内容。

47 浏览
0 Comments

如何在Laravel中像Django中的print一样打印一些内容。

我有一个Laravel控制器:

class YeahMyController extends BaseController {
    public function getSomething() {
        Console::info('mymessage'); // <-- 我应该在这里放什么?
        return 'yeahoutputthistotheresponse';
    }
}

目前,我正在使用artisan运行应用程序(它在幕后运行PHP的内置开发Web服务器):

php artisan serve

我想将控制台消息记录到artisan进程的STDOUT管道中。

0
0 Comments

问题的出现原因是没有找到在Laravel中像在Django中那样打印输出的快捷方式,需要通过创建一个facade来避免重复代码。解决方法是使用Symfony组件的ConsoleOutput类来实现打印输出,具体代码如下:

$output = new \Symfony\Component\Console\Output\ConsoleOutput();
$output->writeln("<info>my message</info>");

如果想要在Laravel中实现类似于样式化、询问和表格等功能的命令行输入输出,可以参考回答中提到的ConsoleCommand类。

参考链接:[Document reference](http://api.symfony.com/2.7/Symfony/Component/Console/Output/ConsoleOutput.html)

0
0 Comments

问题的原因是作者在使用Laravel的artisan web服务器时,想要像在Django中使用print一样打印一些信息,但是不知道如何实现。解决方法是使用Laravel特定的日志函数,如\Log::info、\Log::warning和\Log::error来记录日志。此外,当前版本的Laravel还可以直接使用info函数来记录日志。这些日志会被记录在Laravel的日志文件中,路径为/laravel/storage/logs/laravel-.log。还有监视日志的方法,即使用tail命令来实时查看日志文件。另外,如果想要在Laravel中实现类似Django中的命令行交互效果,可以查看作者在另一个回答中提到的ConsoleCommand类。

0
0 Comments

在laravel中像在django中打印一样打印一些内容的问题原因是无法直接在artisan serve控制台中使用Log::info()方法来打印内容。解决方法是可以使用PHP的error_log()函数或laravel的\Log::info()方法来打印内容。如果想要使用laravel的命令行界面的样式、询问和表格等功能,可以参考在这里的ConsoleCommand类。但是,使用这些方法只能打印字符串,无法打印对象。

0