danielm/symfony-demo-bundle

An Skeleton/Demo bundle

0.1.3 2023-11-19 15:35 UTC

This package is not auto-updated.

Last update: 2024-04-21 21:03:31 UTC


README

Build Status Build Status Build Status

See my blog post about this:

https://danielmg.org/php/2023/02/extending-symfony-bundle-flex-recipes-and-private-repositories.html

About

This project is part of my Post series about how to build a Symfony Flex Recipes repository (private or not).

This bundle is a demo that shows a couple of things yo can do on a Symfony bundle, such as:

Includes

  • Console Command: bin/console demo:command
  • DemoServiceInterface & DemoService: Example of some kind of Contract/Adapter-like patter of a service
  • Events: Custom event UnnecessaryEvent and simple EventSubscriber DemoSubscriber
  • DemoTwigExtension: Adds a twig function demoFcn()
  • Controller:
    • Route /{a}/{b} -> Simple endpoint that returns a Json response with some values and adds a + b
    • Route /view -> Simple endpoint that renders a Twig template and returns HTML
    • Route /dispatch/{md5_hash} -> Simple endpoint to test dispatching our UnnecessaryEvent
  • Configuration
    • Using Bundle config parameters
    • Using Custom Env variables DEMO_SAMPLE_ENV
  • Usage of Translations and public assets.

Install

Using Symfony Recipe

composer require danielm/symfony-demo-bundle

Manually

Same composer command as using the Recipe, you will also need to create/edit some files manually (that's what a Symfony recipe does for you)

...

Composer scripts

Coding Standards (follows symfony's default rules)

# Displays errors
composer run cs:check
# Makes changes
composer run cs:fix

Testing

composer run test

PHP code analysis

composer run stan

Todo

  • Validators examples
  • Serialization examples
  • Test Event & dispatcher