rollerworks/route-autofill-bundle

该包已被废弃且不再维护。未建议替代包。

RouteAutofillBundle可以在生成时自动填充缺失的路由参数

安装: 205

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 1

开放问题: 0

类型:symfony-bundle

v0.1.2 2019-12-04 08:19 UTC

This package is auto-updated.

Last update: 2021-08-21 09:56:10 UTC


README

RollerworksRouteAutofillBundle可以帮助生成具有共享前缀的参数的路由。所有更深层级的端点总是具有其前缀的路由参数,因此可以在生成具有相同前缀的路由时重用这些参数。

例如:您当前位于以下路由/webhosting/{account}/ftp/users/,并希望生成返回到/webhosting/{account}/的URL。因为当前页面已经为{account}提供了值,我们可以轻松地重用它。

提示:此技术也适用于主机要求。

但是还有更多,此包还提供了一个RouteRedirectResponse,以便轻松生成具有路由的重定向响应。

这有什么好处?

有时您无法提供所需的路由参数,或者根本不希望被这些细节所困扰。

此包的主要目的是方便,您始终可以以不同的方式解决这些挑战,但这需要更多的工作。

要求

您需要至少PHP 7.1和Symfony FrameworkBundle。

安装

打开命令行界面,进入您的项目目录并执行以下命令以下载此包的最新稳定版本

$ php composer.phar require rollerworks/route-autowiring-bundle

此命令要求您全局安装Composer,如Composer文档中的安装章节中所述。

基本用法

首先,自动填充路由参数不会自动发生,只有当您使用AutoFilledUrlGenerator (与Symfony路由系统兼容)时才会提供自动填充。

$container->get(AutoFilledUrlGenerator::class);

注意: RouteRedirectResponse已经使用了此路由生成器。

其次,您需要为您的路由设置autofill_variables选项以启用特定参数的自动填充。

注意: 此选项必须为每个路由设置,提供数组或以逗号分隔的字符串(例如account,id)。

RouteRedirectResponse

RouteRedirectResponse提供直接为路由生成重定向响应的功能

use Rollerworks\Bundle\RouteAutofillBundle\Response\RouteRedirectResponse;

// (string $route, array $parameters = [], int $status = 302)
return new RouteRedirectResponse('route-name');

就是这样。

Flash消息

此外,您还可以直接在响应中添加Flash消息

return RouteRedirectResponse::toRoute('route-name')
    ->withFlash('success', 'translation.id', 'arguments');

当参数为空(null)时,消息作为字符串添加到FlashBag中,否则它是一个如['message' => 'message.id' => ['id' => 200]]的数组。

翻译和特殊格式化必须在模板中进行。如果需要,可以多次调用withFlash()方法。

许可

本包的所有内容均采用MIT许可证发布。