Download the PHP package forci/static-data-bundle without Composer
On this page you can find all versions of the php package forci/static-data-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package static-data-bundle
Installation
composer require forci/static-data-bundle
Add the bundle to your bundles array
Configure your bundles. These are the bundles that have StaticData that needs to be imported
The Static Data bundle will look into each bundle
's configured directory
(StaticData
by default) and pick all *Data.php
files.
Then, if there is a service with an ID equal to the FQCN, or if the class is a subclass of Forci\Bundle\StaticData\StaticData\StaticData
, it will be constructed and added to a `Forci\Bundle\StaticData\StaticData\DataCollection
.
Note, that this only happens on-demand and will NOT slow down your application's performance besides having to load another bundle and process its configs.
Usage
By default, you need to place your StaticData files in BundleRootDir/StaticData
. Take a look at the below example for a bundle named App
(Please notice the missing Bundle suffix! if you're using it, you need to specify the full bundle name in your config, eg AppBundle)
All you need to do is run the ./bin/console forci_static_data:load
command.
You can also add this command to your deployment flow. This way, adding new static entities is a breeze.
This is especially useful when development happens by multiple developers, in multiple different branches and you want to keep migrations clean.
Having multiple branches and doing refactoring in these often leads to unexpected crashes upon deployment to production due to the way DoctrineMigrationsBundle works.
If you would like to import the static data for only one bundle, run ./bin/console forci_static_data:load -b YourBundle
or ./bin/console forci_static_data:load --bundle=YourBundle
Advanced Usage
This bundle registers two services:
forci_static_data.data_finder
- instance ofForci\Bundle\StaticData\StaticData\DataFinder
forci_static_data.data_loader
- instance ofForci\Bundle\StaticData\StaticData\DataLoader
You can use those to find and/or load your static data in any way you would like - you can embed it in your own commands.