public function __construct(Aplicacion $app) { // Inyectamos la instancia de aplicación $this->app = $app; // Definimos el directorio de las vistas $this->dir_traducciones = $app->obtenerDirApp() . DIRECTORY_SEPARATOR . 'traducciones'; }
public function __construct(Aplicacion $app) { // Preparamos la aplicación para su futura ejecución $app->preparar(); // Inyectamos la aplicación a servir $this->app = $app; }
public function __construct(Aplicacion $app) { // Inyectamos la instancia de aplicación $this->app = $app; // Definimos el directorio de las vistas $this->dirVistas = $app->obtenerDirApp() . DIRECTORY_SEPARATOR . 'vistas'; // Registramos procesador para convertir texto a titulo $this->filtros['t'] = function ($texto) { $texto = mb_convert_case($texto, MB_CASE_TITLE); $palabras_omitidas = array(' de ', ' un ', ' una ', ' uno ', ' el ', ' la ', ' lo ', ' las ', ' los ', ' de ', ' y ', ' o ', ' ni ', ' pero ', ' es ', ' e ', ' si ', ' entonces ', ' sino ', ' cuando ', ' al ', ' desde ', ' por ', ' para ', ' en ', ' dentro ', ' afuera ', ' sobre ', ' a ', ' adentro ', ' con ', ' su ', ' of ', ' a ', ' an ', ' the ', ' and ', ' or ', ' but ', ' is ', ' if ', ' then ', ' when ', ' until ', ' by ', ' for ', ' in ', ' off ', ' with '); return trim(str_ireplace($palabras_omitidas, $palabras_omitidas, $texto . ' ')); }; // Registramos procesador para convertir texto a mayúsculas $this->filtros['u'] = function ($texto) { return mb_convert_case($texto, MB_CASE_UPPER); }; // Registramos procesador para convertir texto a minúsculas $this->filtros['l'] = function ($texto) { return mb_convert_case($texto, MB_CASE_LOWER); }; }
public function testCrearAplicacion() { $app = \Armazon\Nucleo\Aplicacion::instanciar(); $this->assertInstanceOf('\\Armazon\\Nucleo\\Aplicacion', $app); }
<?php // Instanciamos Aplicación Web $app = \Armazon\Nucleo\Aplicacion::instanciar(); // Configuramos aplicación $app->definirDirApp(__DIR__); $app->definirCodificacion('UTF-8'); $app->definirZonaTiempo('America/Managua'); $app->definirAmbiente(getenv('AMBIENTE') ?: 'desarrollo'); // Registramos componente Traductor $app->registrarComponente('traductor', function () use($app) { return new \Armazon\I18n\Traductor($app); }); // Registramos componente Sesion $app->registrarComponente('sesion', function () { $adaptador = new \Armazon\Sesion\Adaptador\Archivos(['dir' => sys_get_temp_dir()]); $sesion = new Armazon\Sesion\Manejador($adaptador); return $sesion; }); // Registramos componente Vista ** REQUERIDO ** $app->registrarComponente('vista', function () use($app) { $vista = new \Armazon\Mvc\Vista($app); // Registramos traductor en la vista como procesador $traductor = $app->obtenerComponente('traductor'); $vista->registrarFiltro('_', function ($texto) use($traductor) { return $traductor->t($texto); }); return $vista; }); // Registramos componente para consultar base de datos relacional $app->registrarComponente('bd', function () use($app) {
/** * Elimina registros filtrando con propiedades alteradas. * * @throws \RuntimeException */ public function eliminar() { // Preparamos variables a usar $filtro = []; $llavePrimaria = (array) $this->__llavePrimaria; // Hacemos recorrido de llave primaria para rellenar el filtro de consulta foreach ($llavePrimaria as $campo) { if ($this->campoVacio($campo)) { throw new \RuntimeException("Falta rellenar el campo llave '{$campo}'."); } $filtro[$campo . '|' . $this->__campos[$campo]['tipo']] = $this->{$campo}; } return Aplicacion::instanciar()->obtenerBdRelacional()->eliminar($this->__nombreTabla)->donde($filtro)->ejecutar(); }