Laravel Blade视图没有显示对它们所做的更改

时间:2014-07-02 19:04:57

标签: laravel templates laravel-4 blade

系统详细信息:在Windows 64位中使用WAMP2.5
MYSQL:5.6.17
PHP:5.5.12
Apache:2.4.9
我通过composer安装了laravel安装。一切都很好,因为最近我的所有观点都停止显示对它们所做的任何更改。这种情况发生在仅使用Blade模板的视图中。

我已正确创建了刀片文件,并使用filename.blade.php对其进行了命名。 我的观点文件结构 -
views
    -layouts
    defaults.blade.php
    show.blade.php
    login.blade.php

defaults.blade.php

<!DOCTYPE html>  
<html>
      <head></head>
<body>
  <div>
   <nav></nav>

       @yield('content')

  </div>
      @yield('footerscripts')

</body>
</html>

show.blade.php

@extends('layouts.defaults')
@section('content')
    --- SOME CONTENT ---
@stop

@section('footerscripts')
     --- js scripts ---
@stop

相同的格式工作得很好,但突然开始表现得很奇怪。即使多次刷新后视图也没有改变,一旦我尝试删除视图页面内的所有内容,它仍会显示在浏览器中。
有类似的问题,但许多人没有接受答案,有一些评级的人没有为我工作。我也尝试重新安装新的新WAMP副本,但没有帮助。只有当我更改其名称但如果我将其更改回原始版本,它再次开始显示它的旧版本。 只有刀片模板才会发生。

6 个答案:

答案 0 :(得分:10)

如果您使用PHP Storm:

  1. 打开菜单File → Settings

  2. 转到Deployment → Options部分

  3. 然后取消选中选项Preserve files timestamps

答案 1 :(得分:4)

我不确定具体细节,但这与在Windows中实现filemtime()的方式有关(可能与相关的错误here)。

Illuminate\View\Compilers\BladeCompiler(好吧,它的父类,Compiler)检查自上次编译以来文件是否已更改,方法是检查它的mtime,通过{{3}调用filemtime()来调用Illuminate\Filesystem\Filesystem。显然,这无法正确报告您的系统。

首先,确保app/storage/views目录具有读取,写入和删除权限。如果这没有帮助,最简单的解决方案是在进行更改时清除app/storage/views/目录。

答案 2 :(得分:1)

我遇到了同样的问题,原因是我上传远程,但我的电脑上的时间与我服务器上的时间不同

答案 3 :(得分:1)

我得到了非常简单的解决方案,我在两个文件夹中有相同的项目,我正在编辑一个,而 php artisan 正在另一个文件夹中运行,当到达其中运行 php 服务器并对其进行更改的项目时。

>

答案 4 :(得分:0)

  1. 在您的cmd(命令提示符)或终端类型中按Enter键... php artisan view:clear
  2. 为此,您的终端应指向laravel安装/文件夹的根目录

    1. 或删除文件夹中的文件 存储/框架/视图
    2. 为了避免在每次重新加载时解析Blade文件,Laravel旨在在解析Blade之后缓存视图,以避免在每次重新加载时重新解析刀片。

      1. 或者确保您在右侧Laravel安装中编辑右视图。

答案 5 :(得分:0)

运行命令npm run productionnpm run dev

它解决了我的问题: 除了控制器方法也不想随视图一起反映更改之外,我遇到了同样的问题。我尝试了以下命令:

user:/var/www/html/website$ php artisan cache:clear
Application cache cleared!
user:/var/www/html/website$ php artisan config:clear
Configuration cache cleared!
user:/var/www/html/website$ php artisan route:clear
Route cache cleared!
user:/var/www/html/website$ php artisan view:clear
Compiled views cleared!

什么都没改变。

我从控制器方法中回显了错误的变量。娜达!

我更改了app.css?v=2文件的版本。在之后的寂静中……没有区别。

我清除了浏览器缓存。

我手动删除了: bootstrap/cache/config.php framework/sessions/* framework/views/*

没有任何变化,最后我运行了命令npm run production和宾果游戏!尝试一下,它将为您节省2个半小时的挫败感和激进的想法。

Laravel / framework v5.6