tangoman / callback-bundle
Callback Symfony Twig 扩展包
Requires
- php: >=5.5.0
- twig/twig: ^1.35|^2.4.4
Requires (Dev)
README
TangoMan Callback Twig 扩展包 为 symfony 项目提供简单的回调管理器。
例如,当您需要用户从一个分页列表中填写表单时,您的控制器将需要将他们重定向到他们原本所在的页面,并且您不希望他们丢失查询字符串中的参数。
TangoMan Callback Twig 扩展包 为 twig 提供简单的回调函数,以避免在用户查询字符串中无限期地堆叠不必要的回调。
安装
步骤 1:下载 Bundle
打开命令行,进入您的项目目录,并执行以下命令以下载此 Bundle 的最新稳定版本
composer require tangoman/callback-bundle
此命令需要您全局安装 Composer,具体请参阅 Composer 文档中的 安装章节。
步骤 2:启用 Bundle
然后,通过将其添加到项目中 app/AppKernel.php
文件中注册的 Bundle 列表中来启用该 Bundle
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { // ... public function registerBundles() { $bundles = array( // ... new TangoMan\CallbackBundle\TangoManCallbackBundle(), ); // ... } }
您不需要将 TangoMan CallbackBundle 添加到您的项目中的 service.yml
文件。 twig.extension.callback 服务将自动加载。
用法
callback(route = null, parameters = [])
返回当前 URI,从查询字符串中移除 callback
。可选地,对于给定的路由和参数,返回绝对 URL(带有方案和主机),callback
也将被忽略。
在您的视图中
默认情况下,回调将定义在用户的当前页面上。
<a href="{{ path('app_foo_bar', { 'callback': callback() }) }}"> Your Foo Bar link here </a>
但您也可以选择重定向用户到任何路由。
<a href="{{ path('app_delete_foo', { 'callback': callback('app_trash_bin', { 'slug': 'foo' } ) }) }}"> Your Foo Bar link here </a>
回调函数接受所需路由的名称和参数。
在您的操作方法中
public function foobarAction(Request $request) { ... // User is redirected to referrer page return $this->redirect($request->get('callback')); ... }
测试
TangoMan CallbackBundle 提供 Makefile 脚本来执行单元测试,以便与您的持续集成工作流程兼容。
输入以下命令以安装所需的依赖关系并执行单元测试
$ make tests
在 Windows 机器上,您首先需要安装 cygwin 或 GnuWin make 以执行 make 脚本。
如果您已安装 XDebug,您可以使用以下命令生成代码覆盖率报告
$ make coverage
注意
如果您发现任何错误,请在此处报告: 问题
许可证
版权所有 (c) 2018 Matthias Morin
如果您喜欢 TangoMan CallbackBundle 请给它点星!并在 GitHub 上关注我: TangoMan75 ... 并查看我的其他酷项目。