radmen / lassy
此包已被弃用且不再维护。未建议替代包。
为Laravel4的懒静态网站生成器
1.1.0
2014-05-05 21:16 UTC
Requires
- php: >=5.3.0
- illuminate/console: 4.1.x
- illuminate/filesystem: 4.1.x
- illuminate/http: 4.1.x
- illuminate/support: 4.1.x
Requires (Dev)
- mockery/mockery: 0.8.*
This package is auto-updated.
Last update: 2022-02-01 12:26:19 UTC
README
Lassy是一个懒静态网站生成器。这意味着每个请求(好吧,不是每个...请查看过滤器部分)都将生成一个包含内容的HTML文件。
下一个请求将被重定向到该文件。
安装
将radmen/lassy
添加到composer.json
{ "require": { "radmen/lassy": "1.1.*" } }
然后在app/config/app.php
中添加
'Radmen\Lassy\LassyServiceProvider'
到providers
'Lassy' => 'Radmen\Lassy\Facade'
到aliases
并发布配置:php artisan config:publish radmen/lassy
重写
Lassy只生成HTML文件。所有请求都必须重写到这些文件。以下是一些重写配置的示例。
请注意,_static
只是示例目录名。它可以在配置文件中更改。
Apache
RewriteCond %{DOCUMENT_ROOT}/_static/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /_static/$1 [QSA,PT,L]
RewriteCond %{DOCUMENT_ROOT}/_static/%{REQUEST_URI}/index.html -f
RewriteRule ^(.*)$ /_static/$1/index.html [QSA,PT,L]
Laravel
如果您在服务器重写方面有问题(这经常发生),您可以通过Laravel应用程序提供服务静态文件。
在app/filters.php
中添加
App::before(function($request) { $path = Lassy::getFilePath($request); if(true === is_file($path)) { Lassy::disable(); return file_get_contents($path); } });
过滤器
在某些情况下,不应生成静态文件。这时过滤器就派上用场了。
过滤器是一个返回布尔值的闭包。如果是FALSE
,Lassy将被禁用。
Lassy提供了一些基本的过滤器
Radmen\Lassy\Filter\AjaxRequest
检查请求是否为AJAX调用。如果是TRUE
,则禁用LassyRadmen\Lassy\Filter\GetRequest
仅对GET
请求启用LassyRadmen\Lassy\Filter\HtmlResponse
仅对有效的(响应代码 = 200
)HTML响应启用LassyRadmen\Lassy\Filter\QueriedRequest
当请求中有查询数据时禁用Lassy
过滤器可以在包配置文件中指定。
可以在请求期间手动启用/禁用Lassy。要做到这一点,请在代码中运行Lassy::enable()
,或Lassy::disable()
。
清除文件
如果您想删除生成的文件,只需在控制台中运行php artisan lassy:clear
。
许可证
Lassy包是开源软件,许可协议为MIT许可。