Este documento describe una presentación sobre el desarrollo de aplicaciones CLI profesionales con Symfony. La presentación cubre temas como la empaquetación de aplicaciones, la instalación, la seguridad, la portabilidad y las características profesionales de las aplicaciones CLI como la autocompletación y la validación de configuraciones.
40. do‰iles
XML YAML JSON INI TOML
Facilidad de lectura para un humano Di#cil Muy fácil Fácil Muy fácil Muy fácil
Facilidad de escritura para un humano Di#cil Fácil Regular Muy fácil Muy fácil
Facilidad para tratarlo desde php
(Mapea a un array con la misma estructura)
Di#cil Fácil Muy fácil Fácil Fácil
Permite comentarios Sí Sí No Sí Sí
MúlFples niveles de anidación Sí Sí Sí No Sí
Archivos de configuración escritos por humanos:
Archivos de configuración internos:
INI o TOML
JSON
42. do‰ilesuse SymfonyComponentConfigFileLocator;
use SymfonyComponentConfigLoaderLoaderResolver;
use SymfonyComponentConfigDefinitionProcessor;
use NedConfigIniConfigLoader;
use NedConfigConfiguration;
$locator = new FileLocator($configDirs);
$loader = new IniConfigLoader($locator);
$configValues = $loader->load($locator->locate('config.ini'));
$processor = new Processor();
$configuration = new Configuration();
try {
$processedConfiguration = $processor->processConfiguration(
$configuration,
$configValues
);
// configuración válida
} catch …
symfony/config
$resolver = new LoaderResolver([
new IniConfigLoader($locator),
new TomlConfigLoader($locator)
]);
$loader = new DelegatingLoader($resolver);
$cache = new ConfigCache($cachePath, true);
if (!$cache->isFresh()) {
Array con la
configuración
de config.ini