sibset/aop-feature-bundle
Composer 安装命令:
composer require sibset/aop-feature-bundle
包简介
AOP features for Symfony 2
关键字:
README 文档
README
Расширение Symfony Framework для аспектно-ориентированного программирования. Добавляет возможность указвывать аспекты для методов, уменьшая количество сквозного кода в приложении.
Аспекты
Расширение поставляет ряд готовых аспектов.
Logging
Аспект для логирования вызова метода.
<?php use SibSet\Bundle\AopFeatureBundle\Annotation as Aspect; /** * @Aspect\Logging("log.message.writer.user.create") */ public function createUser(User $user) { // ... }
В аннотации требуется указать идентификатор сервиса в контейнере зависмостей.
Сервис должен быть наследником класса SibSet\Bundle\AopFeatureBundle\Aspect\Logging\AbstractWriter
Transaction
Ипользование транзакции для метода
<?php use SibSet\Bundle\AopFeatureBundle\Annotation as Aspect; /** * @Aspect\Transactional */ public function createUser(User $user) { $this->getManager()->persist($user); $this->getManager()->flush($user); }
Вызов метода будет обернут в try...catch блок с вызовом commit() в try и rollback() в catch
SuppressException
Подавление исключений в методе, полезно использовать в связке с Logging
<?php use SibSet\Bundle\AopFeatureBundle\Annotation as Aspect; /** * @Aspect\SuppressException */ public function createUser(User $user) { throw new \Exception("All is dust!"); }
Возможно указать конкретный тип перехватываемого исключения
/**
* @Aspect\SuppressException("\RuntimeException")
*/
public function createUser(User $user)
Установка
Composer
Добавте зависимости в проектный файл composer.json
"require": {
# ..
"sibset/aop-feature-bundle": ">=1.0.0"
# ..
}
AppKernel.php
<?php public function registerBundles() { $bundles = array( // ... new JMS\AopBundle\JMSAopBundle(), new SibSet\Bundle\SibSetAopBundle(), ); // ... return $bundles; }
统计信息
- 总下载量: 16
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2013-10-07