Este documento de referencia es un trabajo en progreso. Este debe ser preciso, pero aún no están cubiertas completamente todas las opciones.
El FrameworkBundle contiene la mayor parte de la funcionalidad «base» de la plataforma y se puede ajustar bajo la clave framework en la configuración de tu aplicación. Esto incluye ajustes relacionados con sesiones, traducción, formularios, validación, enrutado y mucho más.
tipo: string required
Esta es una cadena que debe ser única para tu aplicación. En la práctica, se utiliza para generar los segmentos CSRF, pero se podría utilizar en cualquier otro contexto donde una cadena única sea útil. Se convierte en el parámetro llamado kernel.secret del contenedor de servicios.
Nuevo en la versión 2.3: The http_method_override option is new in Symfony 2.3.
tipo: Boolean predeterminado: true
This determines whether the _method request parameter is used as the intended HTTP method on POST requests. If enabled, the Request::enableHttpMethodParameterOverride gets called automatically. It becomes the service container parameter named kernel.http_method_override. For more information, see Cómo utilizar métodos HTTP además de GET y POST en rutas.
tipo: string predefinido: null
Si estás utilizando un IDE como TextMate o Vim Mac, Symfony puede convertir todas las rutas de archivo de un mensaje de excepción en un enlace, el cual abrirá el archivo en el IDE.
Si usas TextMate o Vim Mac, simplemente puedes utilizar uno de los siguientes valores integrados:
También puedes especificar una cadena personalizada como enlace al archivo. Si lo haces, debes duplicar todos los signos de porcentaje (%) para escapar ese carácter. Por ejemplo, la cadena completa de TextMate se vería así:
framework:
ide: "txmt://open?url=file://%%f&line=%%l"
Por supuesto, debido a que cada desarrollador utiliza un IDE diferente, es mejor poner esto a nivel del sistema. Esto se puede hacer estableciendo en php.ini el valor de xdebug.file_link_format a la cadena de enlace al archivo. Si estableces este valor de configuración, entonces no es necesario determinar la opción ide.
tipo: Boolean
Si este parámetro de configuración está presente (y no es false), entonces se cargará el servicio relacionado para probar tu aplicación (por ejemplo, test.client). Este valor debe estar presente en tu entorno test (por lo general a través de app/config/config_test.yml). Para más información, consulta Probando.
tipo: array
Configura la dirección IP en que se debería confiar como delegada. Para más detalles, ve Delegados confiables.
framework:
trusted_proxies: [192.0.0.1]
<framework:config trusted-proxies="192.0.0.1">
<!-- ... -->
</framework>
$container->loadFromExtension('framework', array(
'trusted_proxies' => array('192.0.0.1'),
));
tipo: integer predeterminado: 0
Esta determina la duración de la sesión — en segundos. De manera predeterminada se utiliza 0, lo cual significa que la cookie es válida para la duración de la sesión del navegador.
tipo: string predefinido: /
Esto determina la ruta a poner en la galleta de sesión. De manera predeterminada utiliza /.
tipo: string predefinido: ''
Esta determina el domino a poner en la galleta de sesión. De manera predeterminada es un espacio en blanco, el cual significa el nombre del servidor que generó la galleta acorde a la especificación de la galleta.
tipo: Boolean predeterminado: false
Esta determina si las galletas sólo se deberían enviar sobre conexiones seguras.
tipo: Boolean predeterminado: false
This determines whether cookies should only accessible through the HTTP protocol. This means that the cookie won’t be accessible by scripting languages, such as JavaScript. Esta opción efectivamente te puede ayudar para reducir el robo de identidad a través de ataques XSS.
Nuevo en la versión 2.1: La opción gc_probability es nueva en la versión 2.1
tipo: integer predeterminado: 1
Esta define la probabilidad que empiece el proceso del recolector de basura (GC por «Garbage Colector») en cada inicio de sesión. La probabilidad se calcula utilizando gc_probability / gc_divisor, p. ej. 1/100 significa que hay un 1% de posibilidad que el proceso del recolector de basura empiece en cada petición.
Nuevo en la versión 2.1: La opción gc_divisor es nueva en la versión 2.1
tipo: integer predeterminado: 100
Ve gc_probability.
Nuevo en la versión 2.1: La opción gc_maxlifetime es nueva en la versión 2.1
tipo: integer predeterminado: 14400
Esta determina el número de segundos después de que los datos se han visto como «basura» y potencialmente limpiarlos. La recolección de basura puede ocurrir durante el inicio de sesión y depende de gc_divisor y gc_probability.
tipo: string predefinido: %kernel.cache.dir%/sessions
Esta determina el argumento a pasar al salvar el manejador. Si escoges el manejador de archivos predeterminado, esta es la ruta a dónde serán creados los archivos. You can also set this value to the save_path of your php.ini by setting the value to null:
# app/config/config.yml
framework:
session:
save_path: null
<!-- app/config/config.xml -->
<framework:config>
<framework:session save-path="null" />
</framework:config>
// app/config/config.php
$container->loadFromExtension('framework', array(
'session' => array(
'save_path' => null,
),
));
tipo: boolean default: false
Whether to enable the serializer service or not in the service container.
For more details, see How to use the Serializer.
predeterminado: { http: [], ssl: [] }
This option allows you to define base URLs to be used for assets referenced from http and ssl (https) pages. Puedes proporcionar un valor de cadena en vez de un arreglo de un solo elemento. If multiple base URLs are provided, Symfony2 will select one from the collection each time it generates an asset’s path.
For your convenience, assets_base_urls can be set directly with a string or array of strings, which will be automatically organized into collections of base URLs for http and https requests. Si una URL comienza con https:// o está relacionada al protocolo (es decir empieza con //) esta se debe añadir en ambas colecciones. URLs starting with http:// will only be added to the http collection.
Nuevo en la versión 2.1: A diferencia de la mayoría de los bloques de configuración, los valores sucesivos de assets_base_urls se deben sobrescribir unos a otros en lugar de fusionarse. Este comportamiento fue elegido porque los desarrolladores típicamente definen la URL base para cada entorno. Dado que la mayoría de los proyectos tienden a heredar las configuraciones (por ejemplo, config_test.yml importa config_dev.yml) y/o comparten una configuración base común (es decir, config.yml), la fusión podría generar un conjunto de URL base para múltiples entornos.
tipo: string
Esta opción se utiliza para detener la memorización en caché de activos a nivel global añadiendo un parámetro de consulta a todas las rutas de los activos reproducidos (por ejemplo /images/logo.png?v2). Esto se aplica sólo a los activos reproducidos a través de la función asset de Twig (o su equivalente PHP), así como los activos reproducidos con Assetic.
Por ejemplo, supongamos que tienes lo siguiente:
<img src="{{ asset('images/logo.png') }}" alt="Symfony!" />
<img src="<?php echo $view['assets']->getUrl('images/logo.png') ?>" alt="Symfony!" />
Por omisión, esto reproducirá la ruta hacia tu imagen tal como /images/logo.png. Ahora, activa la opción assets_version:
# app/config/config.yml
framework:
# ...
templating: { engines: ['twig'], assets_version: v2 }
<!-- app/config/config.xml -->
<framework:templating assets-version="v2">
<framework:engine id="twig" />
</framework:templating>
// app/config/config.php
$container->loadFromExtension('framework', array(
...,
'templating' => array(
'engines' => array('twig'),
'assets_version' => 'v2',
),
));
Ahora, el mismo activo se reproduce como /images/logo.png?v2, Si utilizas esta función, debes incrementar manualmente el valor de assets_version antes de cada despliegue de modo que cambien los parámetros de consulta.
También puedes controlar cómo funciona la cadena de consulta a través de la opción assets_version_format.
tipo: string predefinido: %%s?%%s
Esta especifica un patrón sprintf que será utilizado con la opción assets_version para construir la ruta de un activo. Por omisión, el patrón añade la versión del activo como una cadena de consulta. Por ejemplo, si assets_version_format está establecido en %%s?version=%%s y assets_version está establecida en 5, la ruta del activo sería /images/logo.png?version=5.
Nota
Todos los signos de porcentaje (%) en la cadena de formato se deben duplicar para escapar el carácter. Sin escapar, los valores se pueden interpretar inadvertidamente como Parámetros del servicio.
Truco
Algunos CDN no son compatibles con caché rota a través de cadenas de consulta, por lo que la inyección de la versión en la ruta del archivo real es necesaria. Menos mal, assets_version_format no se limita a producir cadenas de consulta versionadas.
El patrón recibe la ruta original del activo y la versión de sus parámetros primero y segundo, respectivamente. Debido a que la ruta del activo es un parámetro, no la puedes modificar en el lugar (p. ej. /images/logo-v5.png); sin embargo, puedes prefijar la ruta del activo usando un patrón de version-%%2$s/%%1$s, el cual resultará en la ruta version-5/images/logo.png.
Entonces, las reglas de reescritura de URL se podrían utilizar para ignorar el prefijo de la versión antes de servir el activo. Como alternativa, puedes copiar los activos a la ruta de la versión apropiada como parte de tu proceso de despliegue y renunciar a toda la reescritura de URL. La última opción es útil si deseas que las versiones anteriores de los activos permanezcan accesibles en la URL original.
framework:
secret: ~
http_method_override: true
trusted_proxies: []
ide: ~
test: ~
default_locale: en
# configuración de formulario
form:
enabled: false
csrf_protection:
enabled: false
field_name: _token
# configuración esi
esi:
enabled: false
# configuración de fragmentos
fragments:
enabled: false
path: /_fragment
# configuración del perfilador
profiler:
enabled: false
only_exceptions: false
only_master_requests: false
dsn: file:%kernel.cache_dir%/profiler
username:
password:
lifetime: 86400
matcher:
ip: ~
# usa el formato urldecoded
path: ~ # Ejemplo: ^/ruta al recurso/
service: ~
# configuración del enrutador
router:
resource: ~ # Requerido
type: ~
http_port: 80
https_port: 443
# ponlo a true para lanzar una excepción cuando un parámetro no coincida con los requisitos
# ponlo a false para desactivar las excepcións cuando un parámetro no coincida con los requisitos (y en su lugar devuelve null)
# ponlo a null para desactivar el parámetro contra el cual comparar los requisitos
# 'true' es la configuración predefinida en modo de desarrollo, mientras que 'false' o 'null' pueden ser preferibles en producción
strict_requirements: true
# configuración de sesión
session:
storage_id: session.storage.native
handler_id: session.handler.native_file
name: ~
cookie_lifetime: ~
cookie_path: ~
cookie_domain: ~
cookie_secure: ~
cookie_httponly: ~
gc_divisor: ~
gc_probability: ~
gc_maxlifetime: ~
save_path: %kernel.cache_dir%/sessions
# serializer configuration
serializer:
enabled: false
# configuración de plantillas
templating:
assets_version: ~
assets_version_format: %%s?%%s
hinclude_default_template: ~
form:
resources:
# Predefinido:
- FrameworkBundle:Form
assets_base_urls:
http: []
ssl: []
cache: ~
engines: # Requerido
# Ejemplo:
- twig
loaders: []
packages:
# Prototipo
name:
version: ~
version_format: %%s?%%s
base_urls:
http: []
ssl: []
# configuración del traductor
translator:
enabled: false
fallback: en
# configuración de validación
validation:
enabled: false
cache: ~
enable_annotations: false
translation_domain: validators
# configuración de anotaciones
annotations:
caché: file
file_cache_dir: %kernel.cache_dir%/annotations
debug: %kernel.debug%