javihgil/utils-bundle

该包已废弃,不再维护。作者建议使用javihgil/extra-bundle包。

v1.0.1 2015-09-27 14:35 UTC

This package is auto-updated.

Last update: 2019-02-20 19:42:20 UTC


README

Symfony项目的实用类

安装

composer require 'javihgil/utils-bundle'

配置Bundle

app/AppKernel.php中注册Bundle

// app/AppKernel.php
public function registerBundles()
{
    return [
        // ...
        new \Jhg\UtilsBundle\UtilsBundle(),
    ];
}

创建表单处理器

CRUD控制器中创建 doctrine 实体的处理器。

示例

/**
 * @param Request $request
 *
 * @return Response
 */
public function createAction(Request $request)
{
    $element = new Element();

    $form = $this->createForm(new ElementType(), $element);

    if ($this->get('create_form_handler')->process($form, $request)) {
        return $this->redirectToRoute('success_route', ['element', $element->getId()]);
    }

    $viewData = [
        'form' => $form->createView(),
    ];

    return $this->render('ExampleBundle:Element:create.html.twig', $viewData);
}

更新表单处理器

CRUD控制器中更新 doctrine 实体的处理器。

示例

/**
 * @param Element $element
 * @param Request $request
 *
 * @return Response
 */
public function updateAction(Element $element, Request $request)
{
    $form = $this->createForm(new ElementType(), $element);

    if ($this->get('update_form_handler')->process($form, $request)) {
        return $this->redirectToRoute('success_route', ['element', $element->getId()]);
    }

    $viewData = [
        'element' => $element,
        'form' => $form->createView(),
    ];

    return $this->render('ExampleBundle:Element:update.html.twig', $viewData);
}

删除表单处理器

CRUD控制器中删除 doctrine 实体的处理器。

示例

/**
 * @param Element $element
 * @param Request $request
 *
 * @return Response
 */
public function deleteAction(Element $element, Request $request)
{
    $form = $this->createForm(new ElementType(), $element);

    if ($this->get('delete_form_handler')->process($form, $request)) {
        return $this->redirectToRoute('success_route');
    }

    $viewData = [
        'element' => $element,
        'form' => $form->createView(),
    ];

    return $this->render('ExampleBundle:Element:delete.html.twig', $viewData);
}