X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/1287cab035afbb0f40774fa2611b1c79637f6091..7d51c8e79dcf7209d73cf38077d7b5da50e9052d:/README.md diff --git a/README.md b/README.md index 3998c89..81cd07a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,15 @@ +Contribute +========== + +You may buy me a Beer, a Tea or help with Server fees with a paypal donation to +the address . + +Don't forget to show your love for this project, feel free to report bugs to +the author, issues which are security relevant should be disclosed privately +first. + +Patches are welcomed and grant credit when requested. + Installation ============ @@ -8,35 +20,34 @@ Add bundle custom repository to your project's `composer.json` file: ```json { - ..., - "repositories": [ - { - "type": "package", - "package": { - "name": "rapsys/packbundle", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://git.rapsys.eu/packbundle", - "reference": "master" - }, - "autoload": { - "psr-4": { - "Rapsys\\PackBundle\\": "" - } - }, - "require": { - "symfony/asset": "^4.4", - "symfony/flex": "^1.5", - "symfony/framework-bundle": "^4.4", - "symfony/process": "^4.4", - "symfony/twig-bundle": "^4.4", - "twig/extensions": "^1.5" - } - } - } - ], - ... + ..., + "repositories": [ + { + "type": "package", + "package": { + "name": "rapsys/packbundle", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://git.rapsys.eu/packbundle", + "reference": "master" + }, + "autoload": { + "psr-4": { + "Rapsys\\PackBundle\\": "" + } + }, + "require": { + "symfony/asset": "^4.0|^5.0|^6.0|^7.0", + "symfony/flex": "^1.0|^2.0", + "symfony/framework-bundle": "^4.0|^5.0|^6.0|^7.0", + "symfony/process": "^4.0|^5.0|^6.0|^7.0", + "symfony/twig-bundle": "^4.0|^5.0|^6.0|^7.0" + } + } + } + ], + ... } ``` @@ -74,17 +85,17 @@ in the `app/AppKernel.php` file of your project: // ... class AppKernel extends Kernel { - public function registerBundles() - { - $bundles = array( - // ... - new Rapsys\PackBundle\RapsysPackBundle(), - ); + public function registerBundles() + { + $bundles = array( + // ... + new Rapsys\PackBundle\RapsysPackBundle(), + ); - // ... - } + // ... + } - // ... + // ... } ``` @@ -112,8 +123,43 @@ services: #Register twig pack extension rapsys_pack.pack_extension: class: 'Rapsys\PackBundle\Extension\PackExtension' - arguments: [ '@file_locator', '@service_container', '@rapsys_pack.path_package', '@rapsys_pack.slugger_util' ] + arguments: [ '@service_container', '@rapsys_pack.intl_util', '@file_locator', '@rapsys_pack.path_package', '@rapsys_pack.slugger_util' ] tags: [ 'twig.extension' ] + #Register intl util service + rapsys_pack.intl_util: + class: 'Rapsys\PackBundle\Util\IntlUtil' + public: true + #Register facebook event subscriber + Rapsys\PackBundle\Subscriber\FacebookSubscriber: + arguments: [ '@router', [] ] + tags: [ 'kernel.event_subscriber' ] + #Register intl util class alias + Rapsys\PackBundle\Util\IntlUtil: + alias: 'rapsys_pack.intl_util' + #Register facebook util service + rapsys_pack.facebook_util: + class: 'Rapsys\PackBundle\Util\FacebookUtil' + arguments: [ '@router', '%kernel.project_dir%/var/cache', '%rapsys_pack.path%' ] + public: true + #Register facebook util class alias + Rapsys\PackBundle\Util\FacebookUtil: + alias: 'rapsys_pack.facebook_util' + #Register image util service + rapsys_pack.image_util: + class: 'Rapsys\PackBundle\Util\ImageUtil' + arguments: [ '@router', '@rapsys_pack.slugger_util', '%kernel.project_dir%/var/cache', '%rapsys_pack.path%' ] + public: true + #Register image util class alias + Rapsys\PackBundle\Util\ImageUtil: + alias: 'rapsys_pack.image_util' + #Register map util service + rapsys_pack.map_util: + class: 'Rapsys\PackBundle\Util\MapUtil' + arguments: [ '@router', '@rapsys_pack.slugger_util' ] + public: true + #Register map util class alias + Rapsys\PackBundle\Util\MapUtil: + alias: 'rapsys_pack.map_util' #Register slugger util service rapsys_pack.slugger_util: class: 'Rapsys\PackBundle\Util\SluggerUtil' @@ -122,20 +168,48 @@ services: #Register slugger util class alias Rapsys\PackBundle\Util\SluggerUtil: alias: 'rapsys_pack.slugger_util' + #Register image controller + Rapsys\PackBundle\Controller\ImageController: + arguments: [ '@service_container', '@rapsys_pack.image_util', '@rapsys_pack.slugger_util', '%kernel.project_dir%/var/cache', '%rapsys_pack.path%' ] + tags: [ 'controller.service_arguments' ] + #Register map controller + Rapsys\PackBundle\Controller\MapController: + arguments: [ '@service_container', '@rapsys_pack.map_util', '@rapsys_pack.slugger_util', '%kernel.project_dir%/var/cache', '%rapsys_pack.path%' ] + tags: [ 'controller.service_arguments' ] + Rapsys\PackBundle\Form\CaptchaType: + arguments: [ '@rapsys_pack.image_util', '@rapsys_pack.slugger_util', '@translator' ] + tags: [ 'form.type' ] +``` + +Setup configuration file `config/packages/myproject.yaml` with the following +content available in `Resources/config/packages/rapsys_pack.yaml`: + +```yaml +#Services configuration +services: + #Register facebook event subscriber + Rapsys\PackBundle\Subscriber\FacebookSubscriber: + arguments: [ '@router', [ 'en', 'en_gb', 'en_us', 'fr', 'fr_fr' ] ] + tags: [ 'kernel.event_subscriber' ] + #Register facebook util service + rapsys_blog.facebook_util: + class: 'Rapsys\PackBundle\Util\FacebookUtil' + arguments: [ '@router', '%kernel.project_dir%/var/cache', '%rapsys_pack.path%', 'facebook', '%kernel.project_dir%/public/png/facebook.png' ] + public: true ``` Open a command console, enter your project directory and execute the following command to see default bundle configuration: ```console -$ php bin/console config:dump-reference RapsysPackBundle +$ bin/console config:dump-reference RapsysPackBundle ``` Open a command console, enter your project directory and execute the following command to see current bundle configuration: ```console -$ php bin/console debug:config RapsysPackBundle +$ bin/console debug:config RapsysPackBundle ``` ### Step 4: Use the twig extension in your Template @@ -201,7 +275,7 @@ use Twig\Error\Error; //This class will be defined in the parameter rapsys_pack.filters.(css|img|js).[x].class string class MyPackFilter implements FilterInterface { - //The constructor arguments ... will be replaced defined in the parameter rapsys_pack.filters.(css|img|js).[x].args array + //The constructor arguments ... will be replaced with values defined in the parameter rapsys_pack.filters.(css|img|js).[x].args array public function __construct(string $fileName, int $line, string $bin = 'mypack', ...) { //Set fileName $this->fileName = $fileName;