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许可。