bentools / user-aware-command-bundle
Provides a user value to Doctrine Entities that implements Gedmo Blameable when using Console commands.
Installs: 19 856
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.4
- gedmo/doctrine-extensions: ^2.3.3
- symfony/symfony: ~2.3|~3.0
This package is auto-updated.
Last update: 2024-10-14 01:47:22 UTC
README
This Symfony bundle provides a user value to Doctrine Entities that implements Gedmo Blameable when using Console commands.
Installation
composer require bentools/user-aware-command-bundle
Then, enable the bundle into Symfony's AppKernel.php:
# app/AppKernel.php class AppKernel extends Kernel { public function registerBundles() { // ... $bundles[] = new BenTools\UserAwareCommandBundle\UserAwareCommandBundle(); } }
Usage
The bundle just works out of the box, provided you already have the Blameable extension configured and working on your entities.
Your console command just has to implement BenTools\UserAwareCommandBundle\Model\UserAwareInterface
, which contains no method:
namespace AppBundle\Command; use BenTools\UserAwareCommandBundle\Model\UserAwareInterface; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class DoMyCommand extends Command implements UserAwareInterface { protected function execute(InputInterface $input, OutputInterface $output) { // ... } }
By default, the bundle will bind the System
user to your createdBy / updatedBy properties.
You can change this user per command run with the --user option:
php bin/console do:mycommand --user Ben
Advanced configuration
# app/config.yml user_aware_command: user_name: System # change default user option_name: user # change default command option option_shortcut: u # set option shortcut