Solución:
Hay un archivo en /application/config
llamado constants.php
Normalmente pongo todos los míos allí con un comentario para ver fácilmente dónde están:
/**
* Custom defines
*/
define('blah', 'hello mum!');
$myglobalvar="hey there";
Despues de ti index.php
está cargado, carga el /core/CodeIgniter.php
archivo, que a su vez carga el archivo de funciones comunes /core/Common.php
y luego /application/constants.php
así que en la cadena de cosas es el cuarto archivo a cargar.
Utilizo una clase “Globals” en un archivo auxiliar con métodos estáticos para administrar todas las variables globales de mi aplicación. Esto es lo que tengo:
globals_helper.php (en el directorio de ayudantes)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
// Application specific global variables
class Globals
{
private static $authenticatedMemberId = null;
private static $initialized = false;
private static function initialize()
{
if (self::$initialized)
return;
self::$authenticatedMemberId = null;
self::$initialized = true;
}
public static function setAuthenticatedMemeberId($memberId)
{
self::initialize();
self::$authenticatedMemberId = $memberId;
}
public static function authenticatedMemeberId()
{
self::initialize();
return self::$authenticatedMemberId;
}
}
Luego, cargue automáticamente esto en el archivo autoload.php
$autoload['helper'] = array('globals');
Por último, para su uso desde cualquier lugar dentro del código, puede hacer esto para configurar las variables:
Globals::setAuthenticatedMemeberId('somememberid');
Y esto para leerlo:
Globals::authenticatedMemeberId()
Nota: La razón por la que dejé las llamadas de inicialización en la clase Globals es tener capacidad de expansión futura con inicializadores para la clase si es necesario. También puede hacer públicas las propiedades si no necesita ningún tipo de control sobre lo que se configura y lee a través de los establecedores / captadores.
También puede crear un archivo constants_helper.php y luego poner sus variables allí. Ejemplo:
define('MY_CUSTOM_DIR', base_url().'custom_dir_folder/');
Luego, en su aplicación / config / autoload.php, cargue automáticamente su ayudante de contstants
$autoload['helper'] = array('contstants');