¿Cuál es la mejor manera de crear variables globales en CakePHP?

votos
21

Me gustaría crear una variable global en CakePHP. Si defino algo en mi app_controller.php me gusta

var $varName

Puedo acceder

$this->varName

de cualquiera de mis controladores, pero no puedo acceder a él desde modelos.

¿Cómo puedo crear una variable global accesible desde los modelos?

El valor de $ varName no se conoce hasta el tiempo de ejecución, así que no creo que bootstrap.php sea una opción.

Publicado el 12/03/2009 a las 18:05
fuente por usuario
En otros idiomas...                            


7 respuestas

votos
30

La nueva clase Configure de CakePHP se puede usar para almacenar y recuperar valores específicos de la aplicación o el tiempo de ejecución. Tenga cuidado, esta clase le permite almacenar cualquier cosa en ella, luego úsela en cualquier otra parte de su código

Respondida el 12/03/2009 a las 18:27
fuente por usuario

votos
29

Para guardar variables globales usan la Clase Configurar. Por ejemplo:

Configure :: write ( 'Company.name', 'Pizza, Inc.');

Para leer la variable más tarde en cualquier lugar de su utilización código:

Configure :: read ( 'Company.name'); // rendimientos: 'Pizza, Inc.'

El archivo recomendada para almacenar las constantes globales se encuentra en app / config / Bootstrap.php

Para obtener más información, consulte:
Configuración de la clase - Configurar clase CakePHP . o la Sección 3.4.7 en Bootstrapping

Respondida el 17/12/2010 a las 15:05
fuente por usuario

votos
5

puede declarar la variable global en app / COFIG / core.php

Configure::write('variable Name','Variable Value');

puede imprimir así:

Configure::read('Variable Name'); 
Respondida el 18/01/2014 a las 14:55
fuente por usuario

votos
2

Las funciones y variables globales para su aplicación se pueden definir en la aplicación / config / bootstrap.php

para obtener más información, consulte http://book.cakephp.org/view/48/Bootstrapping-CakePHP

Respondida el 13/03/2009 a las 22:26
fuente por usuario

votos
1

Puede definir constantes en Bootstrap.php en app / config /. Se puede utilizar a nivel mundial en cualquier controlador o vista.

Respondida el 20/06/2013 a las 19:10
fuente por usuario

votos
0

Usted puede tratar de definir constantes con Bootstrap.php (pastel 3)

Este archivo es ideal para una serie de tareas comunes bootstrapping:

La definición de las funciones de confort.

Declaración de constantes.

Definición de la configuración de caché.

Definición de configuración de registro.

Cargando inflexiones personalizados.

Carga de archivos de configuración.

ref https://book.cakephp.org/3.0/en/development/configuration.html#bootstrapping-cakephp

Respondida el 28/12/2017 a las 13:10
fuente por usuario

votos
-2

En realidad, ¿por qué estás haciendo eso? El modelo no debe tener idea de que existe un controlador.

Si es un objeto comercial (modelo), créelo como tal. Si no, el modelo no debería saberlo.

Respondida el 12/03/2009 a las 18:37
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more