freeq/redirector

轻松管理您的重定向。

1.0.1 2017-08-22 08:05 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:54:24 UTC


README

重定向管理器

Build Status Total Downloads Latest Stable Version

此软件包为您提供了一个简单的工具来重定向用户。您可以轻松管理一切。

安装

通过Composer

$ composer require freeq/redirector

使用

在您需要的地方使用此软件包。管理您的重定向的最佳方式是在Observer或其他事件监听器中运行它。您应该在数据库保存后存储重定向,在删除数据库记录后从存储中删除它们。每个重定向对象都应该实现Redirectable契约。

创建管理器

创建您的重定向管理器实例。它允许您存储/删除/刷新/获取数据。

use Freeq\Redirector\Manager;

$redirect_object = Redirect::findById(1); // must implement Redirectable!

// Using file driver.
$storage = new FileStorage('/path/to/store/them');
$storage->setRedirect($redirect_object);
$manager = new Manager($storage);

// Using redis driver.
$storage = new RedisStorage(new Predis\Client());
$storage->setRedirect($redirect_object);
$manager = new Manager($storage);

// Otherwise u can use StorageFactory.
// $type is storage name (file or redis)
// $source is path for FileStorage or Predis Client for RedisStorage
$storage = StorageFactory::build($type, $source);
$storage->setRedirect($redirect_object);
$manager = new Manager($storage);

管理可重定向对象

存储对象

$manager->store();

删除它

$manager->delete();

刷新所有内容

$manager->flush();

为给定路由启动重定向

$manager->forward('my_route');

  • Freeq\Redirector\Manager - 允许您管理。
  • Freeq\Redirector\StorageFactory - 根据传递给管理器构造函数的'类型'创建具体类。
  • Freeq\Redirector\Storages\FileStorage - 允许您将重定向存储为小型文件的驱动器。
  • Freeq\Redirector\Storages\RedisStorage - 允许您将重定向存储为redis记录的驱动器。

可重定向方法

实现Freeq\Redirector\Contracts\Redirectable的您的对象需要以下方法

  • routeFrom() - 应该重定向哪个路由。
  • routeTo() - 您的重定向希望去哪里(例如,https://github.com)。
  • statusHttp() - 使用特定的http状态(301或302)进行重定向。
  • hash() - 与通过md5散列的routeFrom()类似的字符串。它是redis键或文件名。
  • expireAt() - 返回重定向过期的日期。

贡献

有关详细信息,请参阅contributing.md