sukohi/fox-tail

用于管理用户访问的路由的 Laravel 扩展包。

1.0.2 2017-06-15 20:29 UTC

This package is not auto-updated.

Last update: 2024-09-15 03:34:23 UTC


README

用于管理用户访问的路由的 Laravel 扩展包。 (L5.4+)

安装

执行以下命令。

composer require sukohi/fox-tail:1.*

config/app.php 中设置服务提供者。

'providers' => [
    ...Others...,
    Sukohi\FoxTail\FoxTailServiceProvider::class,
]

同时别名

'aliases' => [
    ...Others...,
    'FoxTail'   => Sukohi\FoxTail\Facades\FoxTail::class,
]

然后执行以下命令。

php artisan vendor:publish

现在您有了 config/fox_tail.php

定义

  • 尾巴:用户将要访问的数据集。它包含 name(路由名称或URI)methodurlfull_urlparameters

  • 故事:用户可以访问的 尾巴 集合。

准备

(中间件)

您需要在 \App\Http\Kernel.php 中设置 FoxTailMiddleware,如下所示。

protected $routeMiddleware = [
    ...Others...,
    'fox_tail' => \Sukohi\FoxTail\Middleware\FoxTailMiddleware::class
];

并且也在 routes/web.php

Route::middleware(['fox_tail'])->group(function(){

    Route::get('/my/page/1', 'HomeController@mypage_1')->name('my-page-1');
    Route::get('/my/page/2', 'HomeController@mypage_2')->name('my-page-2');
    Route::get('/my/page/3', 'HomeController@mypage_3')->name('my-page-3');

});

在这个例子中,FoxTail 观察 /my/page/1/my/page/2/my/page/3
然后,它将在会话中保持 尾巴

(配置)
config/fox_tail.php 中,您可以设置 故事,这意味着用户的访问历史。
请参阅文件以获取详细信息。

使用

检查配置文件中设置的 故事 是否匹配。

$story_name = 'how_much';

if(\FoxTail::isStory($story_name)) {

    echo 'Match!';

}

获取所有 尾巴

$tails = \FoxTail::getTails();   // Laravel Collection

获取一个 尾巴

$tail = \FoxTail::getTail($tail_name);
echo $tail->method;
echo $tail->url;
echo $tail->full_url;
print_r($tail->parameters); // Array

// or

echo \FoxTail::getMethod($tail_name);
echo \FoxTail::getUrl($tail_name);
echo \FoxTail::getFullUrl($tail_name);
print_r(\FoxTail::getParameters($tail_name));   // Array

检查 FoxTail 是否有一个 尾巴

$tail_name = 'about_us';

if(\FoxTail::has($tail_name)) {

    echo 'Has it!';
    
    $tail = \FoxTail::getTail($tail_name);

}

检查上一个 尾巴 名称

$tail_name = 'about_us';

if(\FoxTail::isPrevious($tail_name)) {

    echo 'That is right!';
    
}

通过步骤获取 尾巴尾巴 名称

echo \FoxTail::getTailNameByStep();    // Current tail
echo \FoxTail::getTailNameByStep(1);    // The previous tail tail

print_r(\FoxTail::getTailByStep());    // Current tail by step
print_r(\FoxTail::getTailByStep(1));    // The previous tail by step

许可证

此软件包根据 MIT 许可证授权。

版权所有 2017 Sukohi Kuhoh