seiffert/controller-helper-bundle

此包的最新版本(0.1)没有可用的许可证信息。

此包为控制器提供了一些基本助手。

0.1 2013-03-27 13:34 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:16:36 UTC


README

此包为Symfony2控制器提供简单的助手。

Build Status

设置

通过composer安装此包

composer.json:

    "require": {
        ...
        "seiffert/controller-helper-bundle": "dev-master",
        ...
    }

在您的AppKernel中激活此包

注意: SeiffertHelperBundle 也需要注册,因为 SeiffertControllerHelperBundle 将其作为依赖项使用。

app/AppKernel.php:

    public function registerBundles()
    {
        $bundles = array(
            ...
            new Seiffert\HelperBundle\SeiffertHelperBundle(),
            new Seiffert\ControllerHelperBundle\SeiffertControllerHelperBundle(),
            ...
        );
        ...
    }

用法

此包的目的是为指定为服务的控制器提供助手方法。为了避免这些控制器有大量依赖项,此包将控制器需要的所有助手方法分组,并提供一个具有所有必要助手方法的单一对象。此助手对象可以像这样注入到您的控制器中

services.yml:

...
my.bundle.controller.default:
    class: %my.bundle.controller.default.class%
    arguments:
        - @seiffert.helper.controller

My\Bundle\Controller\DefaultController.php:

<?php

namespace My\Bundle\Controller;

class DefaultController
{
    private $h;

    public function __construct($helper)
    {
        $this->h = $helper;
    }
    
    public function indexAction()
    {
        return $this->h->render('MyBundle:Default:index.view.html');
    }
}

可用助手

目前,此包只提供了一些助手。您期望助手的数量在不久的将来会增加。

  • DoctrineHelper: (如果Doctrine未激活,则这些方法抛出 MissingDependencyException
    • getEntityManager()
    • persist($entity = null)
    • flush($entity = null)
    • getRepository($entityName)
  • FlashMessageHelper
    • addFlashMessage($type, $message)
  • FormHelper: (如果找不到表单工厂,则此方法抛出 MissingDependencyException
    • createForm(FormTypeInterface $type, $data = null, array $options = array())
  • RouterHelper
    • generateUrl($route, $parameters = array(), $referenceType = UrlGeneratorInterface::ABSOLUTE_PATH)
  • SecurityHelper: (如果找不到已认证的用户,则此方法抛出 MissingDependencyException
    • `getCurrentUser()`
  • TemplateHelper: (如果找不到活动模板引擎,则这些方法抛出 MissingDependencyException
    • render($template, $arguments = array(), Response $response = null)
    • renderView($template, $arguments = array())
    • stream($template, $arguments = array(), StreamedResponse $response = null)