template else cakephp

else - this fetch('' title '') cakephp 3



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

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

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.


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.



Para guardar variables globales use la clase Configurar. Por ejemplo:

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

Para leer la variable más adelante en cualquier lugar de su código, use:

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

El archivo recomendado para almacenar constantes globales está en app / config / bootstrap.php

Para más información, ver:
Configurar clase - Configurar Class CakePhp . o la Sección 3.4.7 sobre Bootstrapping


Puede definir constantes en bootstrap.php en el directorio app / config /. Se puede usar globalmente en cualquier controlador o vista.


Puedes intentar definir constantes con bootstrap.php (cake 3)

Este archivo es ideal para varias tareas comunes de arranque:

Definición de funciones de conveniencia.

Declarando constantes.

Definiendo la configuración de caché.

Definiendo la configuración de registro.

Cargando inflexiones personalizadas.

Cargando archivos de configuración

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


puedes declarar una variable global en la aplicación / cofig / core.php

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

puedes imprimir así:

Configure::read(''Variable Name'');