【问题标题】:Laravel welcome.blade page displays codeLaravel welcome.blade 页面显示代码
【发布时间】:2017-07-28 21:20:28
【问题描述】:

几天前,我在这里发布了一个问题,即我有一个项目只在浏览器上显示代码,尽管我有有用的答案但无法找到所需的解决方案,所以我休息了一下。

今天,在重新安装 composer 和 artisian 之后(他们之前有错误,但现在他们可以正常工作了,我想),我决定创建一个新的空项目。一切正常,项目精心制作,我更新了作曲家以确保一切正常,但是当我打开通常显示默认 laravel 页面的 welcome.blade.php 视图时,它正在显示正文中的代码。我检查了 laravel 的文档,似乎它具有 php 的所有必要扩展。

Here's an image of what it shows(不能在这里上传,因为声誉)

是否有可能我错过了某些扩展的安装?

提前致谢

【问题讨论】:

  • 你检查过 chrome 吗?
  • 不,我没有在这台计算机上安装 chrome,但我在 Internet Explorer 上尝试过并显示相同的错误
  • 您不应该公开刀片文件。你的 apache web root 应该指向 laravel 的公共文件夹
  • rahul_m 这个问题和chrome有什么关系?
  • prntscr.com/ehfgw4 喜欢这样吗?

标签: php laravel composer-php


【解决方案1】:

确保刀片的文件名是 xxxxx.blade.php 我复制了一个旧刀片并很快重命名并忘记了刀片部分。 我知道这是旧的,但我今天谷歌搜索到这里。

【讨论】:

    【解决方案2】:

    您将直接进入刀片文件,您的浏览器只是将其解释为 HTML,因为它没有被编译。

    在您的控制器中,您希望使用返回视图

    view('view.name')
    

    您遇到了预期的行为,因为视图尚未编译,PHP 无法理解 @ 标签

    【讨论】:

    • 我只是输入相同的内容:)
    • Laravel 使用刀片来渲染视图,但如果您直接访问它,它根本不会被渲染,因此会在您的 html 中显示刀片代码
    • prntscr.com/ehfhx1 你是说Controller.php中应该有这行代码?我想我从来没有在项目中添加过这种线,它以前能够正常工作
    • 你对这个问题的解释对我来说很有意义,但我仍然有这个问题。也许我做错了什么,你确定我只需要写 view('welcome.blade.php') 吗?
    • 嗯,你必须把它写在被调用的控制器方法中。我认为它以前对您有用的唯一原因是您在模板中从未有任何刀片语法。 Laravel 获取指定的视图,然后将其编译为原生 PHP,Blade 视图永远不应该公开访问,因此默认情况下它们位于 resources/views 而不是 public/views 下。也许你误解了 Laravel 的工作原理,在这种情况下,我建议你检查他们的文档并了解请求的生命周期。
    猜你喜欢
    • 2018-09-07
    • 2017-08-12
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多