Boostrap en Yupp PHP Framework
Definición:
En informática bootstrap o bootstrapping el la palabra para el arranque de algo. En Yupp Framework el bootstrap se utiliza para cargar toda la información que un componente Yupp necesita para funcionar. Información como usuarios, tablas con código fijos y todo lo que sea necesario para que el componente pueda comenzar a funcionar. El bootstrap se ejecuta una sola vez luego de que un componente es instalado en el framework.
Si bootstrap no es más que un script PHP que se ubica dentro del componente al que pertenece, y dentro de un archivo con un determinado nombre. La ubicación y el nombre del archivo es fundamental para que el framework lo reconozca y lo permita ejecutar desde su consola de desarrollo.
El bootstrap de un componente llamado blog (es el componente de ejempo que viene con la descarga del framework) deberá estar ubicado en el directorio raíz de dicho componente, y deberá llamarse según las reglas de nombrado de archivos del framework para un script, la estructura completa sería esta:
|-yupp
|- components
|- blog
|- components.blog.Bootstrap.script.php
Las reglas de nombrado son:
- La primer parte del nombre debe ser la ubicación del archivo separado por '.', o sea components.blog. No se toma en cuenta el directorio raíz donde está instalado el framework, o sa /yupp.
- La siguiente parte debe ser Bootstrap, para indicarle al framework que es lo que debe ejecutar al inicializar el componente.
- Como es un script debe finalizar con .script.php
Ejemplo de bootstrap para el componente 'blog'
// Pregunta cantidad de usuarios
$cantidadUsuarios = Usuario::count();
// Si no se ha ejecutado el bootstrap deberian haber cero
// La pregunta evita agregar 2 usuarios adminsitradores
if ( $cantidadUsuarios == 0 )
{
$user = new Usuario(
array(
"nombre" => "Pablo Pazos Gutierrez",
"email" => "admin@admin.com",
"clave" => "qwertyuio",
"fechaNacimiento" => "1981-10-24 09:59:00",
"edad" => "28"
)
);
// Intenta guardar el usuario en la base de datos
if ( !$user->save() )
{
// Si no pudo guardar, muestra errores
Logger::struct( $user->getErrors() );
}
}
