Download the PHP package axsy/transactional-bundle without Composer
On this page you can find all versions of the php package axsy/transactional-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download axsy/transactional-bundle
More information about axsy/transactional-bundle
Files in axsy/transactional-bundle
Package transactional-bundle
Short Description Provides transactional wrapper for the controllers and services
License MIT
Homepage https://github.com/axsy/TransactionalBundle
Informations about the package transactional-bundle
AxsyTransactionalBundle
This bundle provides transactional wrapper for the controllers and services. In the most simple case the usage is as simple as adding the @Transactionable annotation to the Controller action:
or to some service method:
There are some options to customize the @Transactionable behavior, see below.
Installation
This bundle can be installed via composer
. Just add the following lines to the comsposer.json
Please replace dev-master
in the snippet above with the latest stable branch, for example 1.0.*
.
Please check the tags on Github for which versions are available.
Then, you can install the new dependencies by running Composer's update
command from the directory where your
composer.json
file is located:
Now, Composer will automatically download all required files, and install them
for you. All that is left to do is to update your AppKernel.php
file, and
register the new bundle:
Please make sure, that JMS\AopBundle\JMSAopBundle
and JMS\DiExtraBundle\JMSDiExtraBundle
are registered too. They're
already registered in the Symfony Standard Edition distribution out of the box.
Configuration
This bundle allows to set the default Doctrine DBAL connection to be used and\or default transaction isolation level. By defaut the following settings are accepted:
@Transactionable
This annotation allows to override the default connection name and transaction isolation level:
Also you can explicitly enumerate the class names of the exceptions that will be 'transparent' for the transaction and it will be committed successfully:
and vice versa:
@Transactionable annotation can be defined on the class level. This way all methods of the controller/service will be annotated silently too:
It is possible to override some settings of globally defined annotation on the method level:
Tests
You can simply run the tests for the bundle, run the following commands from the root of the application: