kitamula/kitchen

v1.1.5 2023-04-06 05:33 UTC

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))