variable a nivel de aplicación

4 views
Skip to first unread message

David B.

unread,
Apr 13, 2009, 1:31:36 PM4/13/09
to symfony-es
Buenas, después de 1 mes estudiando, y con sólo la mitad del jobeet
hecha (estoy trabajando de 8:00 a 18:00 y mucho tiempo no tengo :( ),
me he metido a hacer una pequeña web para un amigo (no tiene base de
datos siquiera) en esta semana santa, pero hay una cosa que no consigo
hacer, y es declarar un array a nivel de aplicación, es decir, que se
vea para todos los módulos del frontend.

He probado a meterla en el frontend/config/app.yml, ha creado un
settings.yml ahí, a ver si tira, he pasado de meter la vble como array
y hacerlo sólo con un string por si la estaba ca..ndo con el yaml,
todo esto siempre borrando la caché y en entorno dev, y siempre sale
el maldito notice de que la vble no está definida.

Estoy con symfony 1.2.5, alguna sugerencia? (sé que por ahí debe estar
la docu que diga cómo se hace, quizá en alguna parte del man de
jobeet, pero tengo la cabeza que me va a reventar y no sé dónde buscar
ya!!)

Gracias!

PD: este es mi primer debate en el grupo, nada, sólo decir que siempre
he programado PHP haciéndomelo yo mismo, pero parece que con este
symony es la ostia!!

Javier Eguiluz

unread,
Apr 13, 2009, 1:50:07 PM4/13/09
to symfo...@googlegroups.com
Hola David,


2009/4/13 David B. <bravo...@gmail.com>


Buenas, después de 1 mes estudiando, y con sólo la mitad del jobeet
hecha (estoy trabajando de 8:00 a 18:00 y mucho tiempo no tengo :( ),
me he metido a hacer una pequeña web para un amigo (no tiene base de
datos siquiera) en esta semana santa, pero hay una cosa que no consigo
hacer, y es declarar un array a nivel de aplicación, es decir, que se
vea para todos los módulos del frontend.

He probado a meterla en el frontend/config/app.yml, ha creado un
settings.yml ahí, a ver si tira, he pasado de meter la vble como array
y hacerlo sólo con un string por si la estaba ca..ndo con el yaml,
todo esto siempre borrando la caché y en entorno dev, y siempre sale
el maldito notice de que la vble no está definida.

Pues parece que lo estás haciendo bien. Para definir una variable que esté disponible en cualquier parte de una aplicación, tienes que añadirla al archivo <nombre_proyecto>/apps/<nombre_aplicacion>/config/app.yml

Para definir una variable de tipo array, harías lo siguiente:

all:
  nombre_variable: [elemento1, elemento2, elemento3, ..., elementoN]
  

Luego en el código de tu aplicación puedes acceder a ese array mediante sfConfig::get("app_nombre_variable")

Si quieres que las variables estén disponibles en cualquier aplicación del proyecto, debes crear un archivo app.yml en el directorio config/ del proyecto.

Estoy con symfony 1.2.5, alguna sugerencia? (sé que por ahí debe estar
la docu que diga cómo se hace, quizá en alguna parte del man de
jobeet, pero tengo la cabeza que me va a reventar y no sé dónde buscar
ya!!)

Si continúan los problemas, puede ser útil que compruebes cómo procesa Symfony tu archivo app.yml, ya que puede contener algún error de sintaxis que no sea evidente a simple vista. Para eso, desde cualquier acción puedes ejecutar las siguientes instrucciones para que el navegador muestre el contenido procesado del archivo app.yml:

print_r(sfYaml::load(sfConfig::get("sf_app_dir").'/config/app.yml'));
exit;
 
Gracias!

Un saludo,
Javier Eguiluz

David B.

unread,
Apr 13, 2009, 2:23:27 PM4/13/09
to symfony-es
Ok, Javier, probaré a ver qué tal me va con tus indicaciones, muchas
gracias por tu tiempo.
Saludos.
David.



On 13 abr, 19:50, Javier Eguiluz <javier.egui...@gmail.com> wrote:
> Hola David,
>
> 2009/4/13 David B. <bravo.da...@gmail.com>
Reply all
Reply to author
Forward
0 new messages