mayeco/easy-annotation-bundle

为Symfony2提供的简单注解

安装: 11

依赖者: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

公开问题: 0

类型:symfony-bundle

dev-master / 1.0.x-dev 2014-11-03 06:03 UTC

This package is not auto-updated.

Last update: 2024-09-28 15:12:32 UTC


README

先决条件

SensioFrameworkExtraBundle

示例

一个只验证ajax请求的示例注解。

<?php

namespace Acme\AcmeBundle\Configuration;

use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\ConfigurationAnnotation;

use Mayeco\EasyAnnotationBundle\Configuration\ExecutableAnnotationControllerInterface;


/**
 * @Annotation
 */
class OnlyAjax extends ConfigurationAnnotation implements ExecutableAnnotationControllerInterface
{

    public function executeOnController(FilterControllerEvent $event)
    {
        if(!$event->getRequest()->isXmlHttpRequest()) {
            throw new AccessDeniedHttpException("No valid");
        }
    }

    public function getAliasName()
    {
        return 'onlyajax';
    }

    public function allowArray()
    {
        return false;
    }
}

在控制器中使用

...
use Acme\AcmeBundle\Configuration\OnlyAjax;
...

...
    /**
     *
     * OnlyAjax()
     */
    public function myAjaxFoo(Request $request)
    {