在 Laravel 中使用 echo 查看输出消息

Posted

技术标签:

【中文标题】在 Laravel 中使用 echo 查看输出消息【英文标题】:viewing output message in Laravel with echo 【发布时间】:2021-11-30 08:52:49 【问题描述】:

所以我是 Laravel 新手。基本上,我要做的是在加载 Laravel 默认登录页面时查看“hello world”消息。我有以下,

Route::get('/', function () 
    echo"hello world";
    return view('welcome');
);

但是“hello world”没有出现在终端中。这甚至是在 Laravel 中正确使用 echo 吗?我们将不胜感激。

谢谢

【问题讨论】:

这能回答你的问题吗? How do I write to the console from a Laravel Controller? 我把echo改成了Log::info('This is some useful information.');,还是没有输出 你可以只返回'Hello World';不需要回声 【参考方案1】:

Echo 不是这样工作的。您想在欢迎文件中显示 hello world 文本。以下是您可能想知道的一些事情。 首先,将 hello world 字符串分配给一个变量,然后像这样将其传递给视图。

Route::get('/', function () 
  $text = "Hello world!";
  return view('welcome', compact('text'));
);

然后在您的视图文件中,将此变量传递给这样的 html 标记。

<h1> $text </h1>

Log 是另外一回事,它用于将输出记录到一个 .log 文件中,我们可以在 /storage/log 中找到该文件。此外,如果您从函数中删除 return view 语句,而不是返回一个直接的 hello world 文本,它将显示在您的浏览器屏幕中。

Route::get('/', function()
   return 'Hello World';
);

希望这能回答你的问题。

【讨论】:

有没有办法可以在终端中看到输出?我来自 node.js/django 背景,您可以使用console.log()andprint() 发送可以在终端中显示的输出消息 是的,你可以,但对于 laravel 控制台命令,情况就完全不同了。可悲的是,laravel 缺少你想要的东西。 Console Commands 如果您有兴趣探索,可以参考这里。

以上是关于在 Laravel 中使用 echo 查看输出消息的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Echo 监听器没有在听

Laravel websockets + Laravel Echo 不听我的事件

要查看的关系数据 - Laravel 5.2

laravel 5.8 实现消息推送

Laravel 事件广播没有被拾取 laravel-echo-server

无法使用 Laravel echo server、redis 和 socket.io 验证 laravel 私人频道