infinito/application/symfony/README.md

44 lines
1.4 KiB
Markdown
Raw Normal View History

2019-01-19 12:54:46 +01:00
# Core Application
2018-09-13 13:00:23 +02:00
2019-01-19 12:54:46 +01:00
## Conventions
2018-09-13 13:00:23 +02:00
2019-01-19 12:54:46 +01:00
### Symfony
The application MUST use [Symfony 4. coding standards](https://symfony.com/doc/current/contributing/code/standards.html).
2018-09-13 13:00:23 +02:00
2019-01-19 12:54:46 +01:00
### PHP
2018-09-13 13:00:23 +02:00
PHP code MUST follow the [PSR-4](https://www.php-fig.org/psr/psr-4/) standard.
2019-01-19 12:54:46 +01:00
### Twig
2018-09-13 13:00:23 +02:00
Twig templates MUST follow the [Symfony Template best practices](https://symfony.com/doc/current/best_practices/templates.html).
2019-01-19 12:54:46 +01:00
### Naming
2018-09-13 13:00:23 +02:00
2019-01-19 12:54:46 +01:00
#### Interfaces
2018-09-13 13:00:23 +02:00
A Interfaces MUST be named *ClassnameInterface*.
It SHOULD be based in the directory of the class.
2019-01-19 12:54:46 +01:00
Each class SHOULD implement an interface.
#### Abstract Classes
2018-09-13 13:00:23 +02:00
A abstract class MUST be named *AbstractClassname*.
It SHOULD be based in the directory of the classes which inherit from it.
2019-01-19 12:54:46 +01:00
## Technologies
The following Symfony related components will be used:
- [Services](https://symfony.com/doc/current/service_container.html)
- [ORM](https://symfony.com/doc/current/doctrine.html)
- [Routing](https://symfony.com/doc/current/routing.html)
- [Form](https://symfony.com/doc/current/forms.html)
- [Validation](https://symfony.com/doc/current/validation.html)
- [Events](https://symfony.com/doc/current/event_dispatcher.html)
- [Twig](https://twig.symfony.com/)
- [REST](https://symfony.com/doc/master/bundles/FOSRestBundle/index.html)
- [User Bundle](https://symfony.com/doc/current/bundles/FOSUserBundle/index.html)
## Domain
More information about the domain logic you will find in [./src/Domain/README.md](./src/Domain/README.md).