jonnsl/laravel-viewcache

artisan 命令用于编译所有视图。

v0.0.1 2017-10-08 01:09 UTC

This package is not auto-updated.

Last update: 2024-09-28 02:10:08 UTC


README

预先编译所有 blade 视图。

在一个 Laravel 应用中,Blade 模板首次使用时会被编译成普通的 PHP 代码,并缓存起来,直到被修改。这意味着存储缓存的模板的目录(通常是 storage/framework/views)必须允许服务器写入。在开发过程中这完全不是问题,实际上这非常方便。然而,在生产环境中,这会带来安全问题,因为现在存在一个既可写又有可执行 PHP 文件的目录。

在将应用程序上传到生产环境之前,在构建步骤中使用 artisan view:cache 命令,可以将 storage/framework/view 和其中的 PHP 文件设置为只读。这有助于防止对缓存的视图文件进行未经授权的修改,降低由于包含可执行 PHP 代码的可写目录而可能出现的潜在安全漏洞的风险。此外,通过预先编译 Blade 模板,应用程序在首次请求时可以更快地提供缓存的视图,因为它不需要在第一次请求时即时编译模板。

Blade 模板文件必须使用 .blade.php 扩展名,通常存储在 resources/views 目录中(该目录可以在 config/view.php 中更改)。

安装

$ composer require jonnsl/laravel-viewcache

用法

Usage: php artisan view:cache

Options:

  --force Compile all views regardless of their timestamp.

许可证

(MIT 许可证)

版权所有 (c) 2024 Jonnathan Soares Lima <jonnsl@hotmail.com>

特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的任何人免费使用权,不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人授权这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任(无论是基于合同、侵权或其他法律依据)承担责任,无论这种责任是因软件本身、使用或其它与软件有关的活动而产生的。