knplabs/rad-auto-registration

This package is abandoned and no longer maintained. No replacement package was suggested.

Auto register some common services

Maintainers

👁 KnpLabs

Package info

github.com/KnpLabs/rad-auto-registration

pkg:composer/knplabs/rad-auto-registration

Statistics

Installs: 38 867

Dependents: 0

Suggesters: 0

Stars: 7

Open Issues: 4

v2.2.3 2017-09-21 08:23 UTC

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 4e5c92051a49b96a092ff30edf155a7c898c76a8

  • KNP Labs <hello.woop@knplabs.com>

README

Unfortunately we decided to not maintain this project anymore (see why). If you want to mark another package as a replacement for this one please send an email to hello@knplabs.com.

Rapid Application Development : Auto-Registration

Auto register some common services

👁 Build Status
👁 Scrutinizer Code Quality
👁 Latest Stable Version
👁 Total Downloads
👁 Latest Unstable Version
👁 License

Official maintainers:

Installation

composer require knplabs/rad-auto-registration:~2.0
class AppKernel
{
 function registerBundles()
 {
 $bundles = array(
 //...
 new Knp\Rad\AutoRegistration\Bundle\AutoRegistrationBundle($this), // !! Do not forget to inject the kernel !!
 //...
 );

 //...

 return $bundles;
 }
}

Use

Doctrine repositories auto-registration

Just activate doctrine (or doctrine_mongodb ou doctrine_couchdb depending on your needs) into your configuration.

knp_rad_auto_registration:
 enable:
 doctrine: ~
 doctrine_mongodb: ~
 doctrine_couchdb: ~

Now all repositories are auto-registred.

Entity Repository
MyProjectBundle\Entity\User my_project_bundle.entity.user_repository
TheOtherBundle\Entity\Model\Address the_other_bundle.model.user.address_repository
MyProjectBunde\Document\User my_project_bundle.document.user_repository

Requirements

Your doctrine entity (or documents) should be stored under Entity, Document or Model sub-namespace.

Constraint validators

Just activate constraint_validator into your configuration.

knp_rad_auto_registration:
 enable:
 constraint_validator: ~

Now all custom constaint validators are auto-registered.

Requirements

Your constraint validators should be stored under Validation or Validator sub-namespace.

Form extensions

Just activate form_type_extension into your configuration.

knp_rad_auto_registration:
 enable:
 form_type_extension: ~

Now all form type extensions are auto-registred.

Requirements

Your form type extensions should be stored under Form sub-namespace.

Security voters

Just activate security_voter into your configuration.

knp_rad_auto_registration:
 enable:
 security_voter: ~

Now all the voters are auto-registered.

Requirements

Your security voters should be stored under Security sub-namespace.

Twig extensions

Just activate twig_extension into your configuration.

knp_rad_auto_registration:
 enable:
 twig_extension: ~

Now all Twig extensions are auto-registered.

Requirements

Your Twig extensions should be stored under Twig or Templating sub-namespace.

Public/Private services

By default, all autoregistered services are marked as private (public: false). You can overide this behavior by setting the public parameter to true.

Example:

knp_rad_auto_registration:
 enable:
 doctrine:
 public: true
 doctrine_mongodb:
 public: false
 doctrine_couchdb:
 public: false

Restrictions

Autoloading

  • Only services without constructor or without required parameters into the constructor will be auto-registred.
  • If a service already exists, it will not be erased.

Bundle

You can apply auto-registration on only certains bundle. You just have to add a bundles configuration:

knp_rad_auto_registration:
 enable:
 # ...
 bundles: [ App, ProductBundle ]

WARNING

All auto-registered services are set as private, so it's impossible to get them by using $container->get('service_name'). If needed, create the service definition by yourself.