El documento describe qué es un framework y sus componentes clave. Un framework es una estructura conceptual y tecnológica que sirve de base para el desarrollo de software. Se compone típicamente de soporte de programas, bibliotecas y un lenguaje interpretado. Un framework facilita el desarrollo de software mediante la identificación de requisitos y proporcionando una arquitectura MVC (modelo-vista-controlador).
2. ¿QUÉ ES FRAMEWORK?
En el desarrollo del software, un framework o
infraestructura digital, es una estructura conceptual y
tecnológica de soporte definido, normalmente con
artefactos o módulos de software concretos, que puede
servir de base para la organización y desarrollo de
software. Típicamente, puede incluir soporte de
programas, bibliotecas, y un lenguaje interpretado, entre
otras herramientas, para así ayudar a desarrollar y unir los
diferentes componentes de un proyecto.
3. DESCRIPCIÓN
Diseñados para facilitar el desarrollo del software y ayuda
a los programadores identificando requerimientos de
software.
Aunque ahí queja de framework ya k agrega códigos
innecesarios y se gasta tiempo en aprender framework.
Es más que una base de programación que atiende a sus
descendientes posibilitando cualquier respuesta ante las
necesidades de sus miembros, o en secciones de una
aplicación web, satisfaciendo así las necesidades más
comunes del programador.
4. ARQUITECTURA
Hay que fragmentar la programación para completar los
aspectos básicos del sistema.
MODELO.- Este miembro maneja las operaciones lógicas y
manejo de información, cada miembro tiene su correcto
nombre y la información se maneja de forma directa.
VISTA.- Este miembro de la familia le corresponde dibujar, o
expresar la última forma de los datos: la interfaz gráfica que
interactúa con el usuario final del programa, ddespués de
todo, a este miembro le toca evidenciar la información
obtenida hasta hacerla llegar al controlador.
CONTROLADOR.- Con este apartado podemos controlar el
acceso a nuestra aplicación incluso todo, y esto puede incluir:
archivos, scripts, y/o programas; cualquier tipo de
información que permita la interfaz. Así, podremos diversificar
nuestro contenido de forma dinámica y estática a la vez.
5. LA PARTE LÓGICA
Rápidamente, para una aplicación web sencilla debemos establecer estos
objetos:
Una base (MVC)
Controlador: éste debe ser capaz de manejar
rutas, archivos, clases, métodos y funciones.
Modelo: es como un script habitual en el servidor, solo que agrupado bajo un
'modelo' reutilizable.
Vista: como incluyendo cualquier archivo en nuestra ejecución, muy simple.
Un sistema
Ruteador: con él podemos dividir nuestras peticiones sin tantas
condicionales.
Cargador
6. EJEMPLO // Index.php
// -----
// ------ Clases ------
class Base {}
class Controller extends Base {
function load($name) {
require_
$this->$name =& new $name();
}
}
class Model extends Controller {
function view($name, $data) {
extract($data);
include "app/view/" . $name . ".php";
}
}
// ------ Router & Loader ------
function _route($controller, $model) {
if (is_file("app/$controller.php")) {
require_once "app/" . $controller .
".php";
$object = new $controller();
$object->$model();
}
}
// ----- Rutina -----
_route($_GET['section'], $_GET['name']);
7. APLICAR
Si nuestro archivo se llama Foo (clase), y nuestro otro archivo, bar (metodo)
tenemos que crear el siguiente archivo dentro de la carpeta app/.
// app/Foo.php
// -----
class Foo extends Controller {
function foo() {
$this->load('test');
}
function bar() {
echo '<b>Testing</b>';
echo $this->test->does();
}
}
8. EXTENDER
Podremos extender nuestro sistema con clases, o funciones propias o de algún
'plugin' o libreria ajena. Solo que queremos extenderles sobre nuestro sistema
actual, nuestro objeto básico.
// app/model/Test.php
// -----
class Test extends Model {
function does() {
echo '<ins>Hecho esta!</ins>';
echo $this->view('look', array('my_var' => 'my_value'));
}
}
Entonces, debemos usar la siguiente sentencia dentro de nuestro programa Foo:
$this->load($this, 'test') o _load($this, 'test')
Ya con esto, podremos utilizar las llamadas a $this->test->does() dentro del objeto o
clase Foo.
9. VER
Para mostrar los resultados de todo nuestro computo necesitamos de vistas, o
archivos de inclusión: plantillas, bloques o scripts. Suponiendo que ya ha sido
todo, debemos de visualizarlo:
// app/view/Look.php
// -----
echo 'Variable: ' . $my_var;
Para poder ejecutar esto, se debe llamar a esta sentencia: $this-
>view('look', array ('my_var' => 'my_value')) obteniendo como resultado:
Variable: my_value