tangoman/callback-bundle

Callback Symfony Twig 扩展包

2.2.0 2018-11-25 23:57 UTC

This package is auto-updated.

Last update: 2024-09-17 00:49:42 UTC


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 机器上,您首先需要安装 cygwinGnuWin make 以执行 make 脚本。

如果您已安装 XDebug,您可以使用以下命令生成代码覆盖率报告

$ make coverage

注意

Build Status 如果您发现任何错误,请在此处报告: 问题

许可证

版权所有 (c) 2018 Matthias Morin

License 根据 MIT 许可证分发。

如果您喜欢 TangoMan CallbackBundle 请给它点星!并在 GitHub 上关注我: TangoMan75 ... 并查看我的其他酷项目。

Matthias Morin | LinkedIn