Estructura general de directorios

La estructura general de Symfony se fundamenta en los siguientes directorios:

RUTAFUNCIÓN
/app/configFicheros de configuración básicos
/app/Resources/viewsPlantillas HTML de la aplicación. Formato twig
/binFicheros para realizar configuraciones y otras acciones symfony
/webFicheros donde están los front controller de la aplicación
/srcDirectorio que contiene el código propietario que vamos a desarrollar. Se organiza con Bundles.
/varDirectorio para cache, logs e información de sesión
/vendorDirectorio de librerías de terceros

Formatos de Ficheros Especiales

Formato de ficheros YAML – *.yml

El formato de ficheros YAML, es un formato a medio camino de JSON y XML. Su estructura es jerarquizada en un formato de árbol y es el formato elegido por symfony para los ficheros de configuración.

La página oficial de YAML es https://yaml.org/

Su principal ventaja es que el formato es muy práctico y legible. Esto le da muchas opciones para ser utilizado en ficheros de configuración, traducciones de lenguajes o toda aquella información que requiera de estructura y formato.

Formato de ficheros TWIG – *.twig

TWIG es un formato de plantillas html que permite separa el código html de la aplicación de la capa de datos.

En esencia, se envía el contenido de la aplicación a la plantilla a través de variables y se renderiza para mostrar los resultados.

Este motor de renderizado, está desarrollado en PHP y es muy utilizado en los desarrollos basados en la arquitectura de desarrollo MVC (Modelo – Vista – Controlador)

La página del proyecto twig es https://github.com/fabpot/Twig/tags y la documentación para el desarrollo podemos encontrarla en https://twig.symfony.com/doc/2.x/

Paquetes y librerías de terceros en Symfony

Symfony Components Official Website

Dentro de la carpeta /vendor podemos encontrar por defecto las siguientes librerías o componentes de terceros:

LIBRERÍAFUNCIÓN / OFFICIAL WEBSITE
/doctrineDoctrine es un mapeador objeto-relacional. Actúa como una capa de abstracción que se coloca por encima de las librerías que trabajan con las conexiones a las bases de datos.

Autor: https://www.doctrine-project.org/
Código: https://github.com/doctrine
/incenteevEsta aplicación permite administrar parámetros ignorados al ejecutar composer, instalar o actualizar Funciona cuando se almacenan los parámetros en un archivo Yaml bajo una sola clave de nivel superior (denominada parameters por defecto). Otras claves son copiadas literalmente.

Código: https://github.com/Incenteev/ParameterHandler
/jdornJdorn/sql-formatter es una librería que formatea y resalta las instrucciones SQL.

Autor: http://jeremydorn.com/
Código: https://github.com/jdorn/sql-formatter/
/monologEs una librería desarrollada la creación de logs y para distintos canales. Utilizada para escribir registros de acciones.

Autor: http://seld.be
Código: http://github.com/Seldaek/monolog
https://symfony.com/doc/3.4/logging.html
https://gitnacho.github.io/symfony-docs-es/cookbook/logging/monolog.html
/paragonieDescription: PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
Autor:
https://paragonie.com
Código:
https://github.com/paragonie/random_compat
Issues:
https://github.com/paragonie/random_compat/issues
/psrDescription: Common interface for logging libraries
Autor:
http://www.php-fig.org/
Código:
https://github.com/php-fig
/sensioConjunto de librerías Symfony

https://packagist.org/packages/sensio/distribution-bundle
https://github.com/sensiolabs/SensioDistributionBundle
https://packagist.org/packages/sensio/framework-extra-bundle
https://github.com/sensiolabs/SensioFrameworkExtraBundle
https://symfony.com/doc/master/bundles/SensioFrameworkExtraBundle/index.html
https://packagist.org/packages/sensio/generator-bundle
https://github.com/sensiolabs/SensioGeneratorBundle
https://symfony.com/doc/master/bundles/SensioGeneratorBundle/index.html



/sensiolabshttps://security.symfony.com/
https://github.com/sensiolabs/security-checker
/swiftmailerdescription: Swiftmailer, free feature-rich PHP mailer
https://swiftmailer.symfony.com/docs/introduction.html
https://github.com/swiftmailer/swiftmailer
/twigdescription: Twig, the flexible, fast, and secure template language for PHP
http://twig.sensiolabs.org