X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/1287cab035afbb0f40774fa2611b1c79637f6091..38b37a1222916033f3af99e3a857d798a57d7837:/README.md?ds=sidebyside diff --git a/README.md b/README.md index 3998c89..bd7ebc5 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,24 +85,24 @@ 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(), + ); - // ... - } + // ... + } - // ... + // ... } ``` ### Step 3: Configure the Bundle -Setup configuration file `config/packages/rapsys_pack.yaml` with the following -content available in `Resources/config/packages/rapsys_pack.yaml`: +Setup configuration file `config/packages/rapsyspack.yaml` with the following +content available in `vendor/rapsys/packbundle/config/packages/rapsyspack.yaml`: ```yaml #Services configuration @@ -99,48 +110,111 @@ services: #Replace assets.packages definition assets.packages: class: 'Symfony\Component\Asset\Packages' - arguments: [ '@rapsys_pack.path_package' ] + arguments: [ '@rapsyspack.path_package' ] #Replace assets.context definition assets.context: class: 'Rapsys\PackBundle\Context\RequestStackContext' arguments: [ '@request_stack', '%asset.request_context.base_path%', '%asset.request_context.secure%' ] #Register assets pack package - rapsys_pack.path_package: + rapsyspack.path_package: class: 'Rapsys\PackBundle\Package\PathPackage' arguments: [ '/', '@assets.empty_version_strategy', '@assets.context' ] public: true #Register twig pack extension - rapsys_pack.pack_extension: + rapsyspack.pack_extension: class: 'Rapsys\PackBundle\Extension\PackExtension' - arguments: [ '@file_locator', '@service_container', '@rapsys_pack.path_package', '@rapsys_pack.slugger_util' ] + arguments: [ '@service_container', '@rapsyspack.intl_util', '@file_locator', '@rapsyspack.path_package', '@rapsyspack.slugger_util' ] tags: [ 'twig.extension' ] + #Register intl util service + rapsyspack.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: 'rapsyspack.intl_util' + #Register facebook util service + rapsyspack.facebook_util: + class: 'Rapsys\PackBundle\Util\FacebookUtil' + arguments: [ '@router', '%kernel.project_dir%/var/cache', '%rapsyspack.path%' ] + public: true + #Register facebook util class alias + Rapsys\PackBundle\Util\FacebookUtil: + alias: 'rapsyspack.facebook_util' + #Register image util service + rapsyspack.image_util: + class: 'Rapsys\PackBundle\Util\ImageUtil' + arguments: [ '@router', '@rapsyspack.slugger_util', '%kernel.project_dir%/var/cache', '%rapsyspack.path%' ] + public: true + #Register image util class alias + Rapsys\PackBundle\Util\ImageUtil: + alias: 'rapsyspack.image_util' + #Register map util service + rapsyspack.map_util: + class: 'Rapsys\PackBundle\Util\MapUtil' + arguments: [ '@router', '@rapsyspack.slugger_util' ] + public: true + #Register map util class alias + Rapsys\PackBundle\Util\MapUtil: + alias: 'rapsyspack.map_util' #Register slugger util service - rapsys_pack.slugger_util: + rapsyspack.slugger_util: class: 'Rapsys\PackBundle\Util\SluggerUtil' arguments: [ '%kernel.secret%' ] public: true #Register slugger util class alias Rapsys\PackBundle\Util\SluggerUtil: - alias: 'rapsys_pack.slugger_util' + alias: 'rapsyspack.slugger_util' + #Register image controller + Rapsys\PackBundle\Controller\ImageController: + arguments: [ '@service_container', '@rapsyspack.image_util', '@rapsyspack.slugger_util', '%kernel.project_dir%/var/cache', '%rapsyspack.path%' ] + tags: [ 'controller.service_arguments' ] + #Register map controller + Rapsys\PackBundle\Controller\MapController: + arguments: [ '@service_container', '@rapsyspack.map_util', '@rapsyspack.slugger_util', '%kernel.project_dir%/var/cache', '%rapsyspack.path%' ] + tags: [ 'controller.service_arguments' ] + Rapsys\PackBundle\Form\CaptchaType: + arguments: [ '@rapsyspack.image_util', '@rapsyspack.slugger_util', '@translator' ] + tags: [ 'form.type' ] +``` + +Setup configuration file `config/packages/myproject.yaml` with the following +content available in `vendor/rapsys/packbundle/config/packages/rapsyspack.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 + myproject.facebook_util: + class: 'Rapsys\PackBundle\Util\FacebookUtil' + arguments: [ '@router', '%kernel.project_dir%/var/cache', '%rapsyspack.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 -You can use a template like this to generate your first `rapsys_pack` enabled +You can use a template like this to generate your first `rapsyspack` enabled template: ```twig @@ -149,7 +223,7 @@ template: {% block title %}Welcome!{% endblock %} - {% stylesheet '//fonts.googleapis.com/css?family=Irish+Grover|La+Belle+Aurore' '@NamedBundle/Resources/public/css/{reset,screen}.css' '@Short/css/example.css' %} + {% stylesheet '//fonts.googleapis.com/css?family=Irish+Grover|La+Belle+Aurore' '@NamedBundle/public/css/{reset,screen}.css' '@Short/css/example.css' %} {% endstylesheet %} @@ -199,9 +273,9 @@ namespace Rapsys\PackBundle\Filter; use Twig\Error\Error; -//This class will be defined in the parameter rapsys_pack.filters.(css|img|js).[x].class string +//This class will be defined in the parameter rapsyspack.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 rapsyspack.filters.(css|img|js).[x].args array public function __construct(string $fileName, int $line, string $bin = 'mypack', ...) { //Set fileName $this->fileName = $fileName;