kitamula / kitchen
v1.1.5
2023-04-06 05:33 UTC
Requires
- php: >=7.0.0
- laravel/framework: >=5.5
README
composer require kitamula/kitchen
php artisan vendor:publish --provider="Kitamula\Kitchen\KitchenServiceProvider"
功能
配置
基本认证中间件
通过在.env中设置以下值,可以对设置为"kitamula.basicauth"的RouteMiddleware的路由执行基本认证。
通过将BASICAUTH_TO_AT设置为false来解除。 输入年月日或时间以执行基本认证。 输入年月日:到当天的23:59:59为止,输入时间(年-秒):到指定时间为止。
BASICAUTH_USER="alpha"
BASICAUTH_PASSWORD="beta"
BASICAUTH_TO_AT="2022-12-03 10:08:00"
IP限制中间件
通过在.env中设置以下值,可以对设置为"kitamula.ip_restriction"的RouteMiddleware的路由执行基本认证。
通过将IP_RESTRICTION_TO_AT设置为false来解除。 输入年月日或时间以执行基本认证。 输入年月日:到当天的23:59:59为止,输入时间(年-秒):到指定时间为止。
IP_RESTRICTION_ALLOW_IPS通过逗号分隔来指定GlobalIP。 通过指定*来允许所有IP,不受期间设置的影响
IP_RESTRICTION_ALLOW_IPS=*,::1,127.0.0.1,202.214.242.193
IP_RESTRICTION_TO_AT="2022-12-03 10:08:00"
模型
use \Scopable
columnGroup 方法
将多个列作为一组获取
public function getUrlsAttribute()
{
return $this->columnGroup(3,
['url'=>'url_*', 'text'=>'url_*_text', 'is_newtab'=>'url_*_is_newtab'],
['url_*']
);
}
scopeInTerm
根据列的类型是Date还是DateTime自动更改判断。 Migration>
Article::inTerm()->get();
// カラム名を指定する場合
Article::inTerm($fromColumn, $toColumn)->get();
scopeWord
通过传递搜索字符串和搜索目标列的数组来执行LIKE搜索。
Article::word($searchText, ['title', 'detail', 'keyword', ...])
scopePublished
基于scopeInTerm和scopeDisplayed来判断公开状态
scopeDisplayed
基于is_display列来判断公开状态
is_published 属性
将返回公开状态属性的属性添加到Model中
Article::find(1)->is_published
迁移
termDate|termDateTime
定义用于公开期间的字段。 from_at和to_at字段将被添加。 本库Scopable定义的scopeInTerm中,from_at和to_at字段将自动识别为默认的公开期间字段,因此如果不需要特别指定,可以将其用于此。
$table->termDate();
// または
$table->termDateTime();
Blade
设置ogtype的函数
<meta property="og:type" content="@ogtype()" />
当TOP页面(路由设置中name为'index'的路由)时,输出'website',否则输出'article'。
返回存储路径的函数
@storage($path)
将换行符转换为<br>
的函数
@nl2br($text)
将字符串内的所有URL转换为<a href="$1" target="_blank">$1</a>
的函数
@url2link(nl2br($text))