Aquí podría ser tu PUBLICIDAD


¿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 chipotle_warrior
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 06:27
fuente por usuario ax.


Aquí podría ser tu PUBLICIDAD


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 03:05
fuente por usuario Ryan

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 02:55
fuente por usuario urdesh kumar

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 10:26
fuente por usuario Alexander Morland

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 07:10
fuente por usuario Vineet Kumar

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 01:10
fuente por usuario Thanh

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 06:37
fuente por usuario user76035