SlideShare una empresa de Scribd logo
1 de 13
FRAMEWORK
Son diseñados con la intención de facilitar el desarrollo
de software, permitiendo a los diseñadores y programadores
pasar más tiempo identificando requerimientos de software que
tratando con los tediosos detalles de bajo nivel de proveer un
sistema funcional. Por ejemplo, un equipo que usa Apache
Struts para desarrollar un sitio web de un banco, puede
enfocarse en cómo los retiros de ahorros van a funcionar en
lugar de preocuparse de cómo se controla la navegación entre
las páginas en una forma libre de errores. Sin embargo, hay
quejas comunes acerca de que el uso
de frameworks añade código innecesario y que la
preponderancia de frameworks competitivos y complementarios
significa que el tiempo que se pasaba programando y diseñando
ahora se gasta en aprender a usar los frameworks.
FRAMEWORK
Fuera de las aplicaciones en
la informática, puede ser considerado como
el conjunto de procesos y tecnologías usados
para resolver un problema complejo. Es el
esqueleto sobre el cual varios objetos son
integrados para facilitar una solución dada.
ARQUITECTURA
Dentro de este aspecto, podemos basarnos
en el modelo MVC (Controlador => Modelo
=> Vista), ya que debemos fragmentar
nuestra programación. Tenemos que
contemplar estos aspectos básicos en cuanto
a la implementación de nuestro sistema:
MODELO
Este miembro del controlador maneja las
operaciones lógicas, y de manejo de información
(previamente enviada por su ancestro), para
resultar de una forma explicable y sin titubeos.
Cada miembro debe ser meticulosamente
llamado, con su correcto nombre y en
principio, con su verdadera naturaleza: el manejo
de información, su complementación directa.
VISTA
Al final, a 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
(GUI). Después de todo, a este miembro le
toca evidenciar la información obtenida hasta
hacerla llegar al controlador. Solo (e
inicialmente), nos espera demostrar la
información.
CONTROLADOR
Con este apartado podemos controlar el
acceso (incluso todo) a nuestra aplicación, 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); pues, sólo debemos controlar ciertos
aspectos (como se ha mencionado antes).
ESTRUCTURA
Dentro del controlador, modelo o vista
podemos manejar lo siguiente: datos.
Depende de nosotros como interpretar y
manejar estos 'datos'. Ahora, sabemos que el
único dato de una dirección estática web es:
conseguir un archivo físico en el disco duro o
de internet, etc. e interpretado o
no, el servidor responde.
ESTRUCTURA
El modelo, al igual que el controlador y la
vista, maneja todos los datos que se
relacionen consigo (solo es el proceso medio
de la separación por capas que ofrece la
arquitectura MVC). Y sólo la vista, puede
demostrar dicha información. Con lo cual ya
hemos generado la jerarquía de nuestro
programa: Controlador, Modelo y Vista.
LÓGICA
Al parecer, debemos inyectar ciertos objetos dentro de sus parientes en esta
aplicación, solo así compartirán herencia y coherencia en su aplicación.
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
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']);
APLICAR
Si nuestro archivo se llama Foo (clase), y nuestro otro archivo, bar (método)
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();
}
}
Como resultado al solicitar (por ejemplo, ?section=foo&name=bar), deberíamos
ver el siguiente texto:
Testing
EXTENDER
Podremos extender nuestro sistema con clases, o funciones propias o de algún
'plugin' o librería 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.
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

Más contenido relacionado

La actualidad más candente (18)

Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework 02
Framework 02Framework 02
Framework 02
 
Framework by Marcos Acosta
Framework by Marcos AcostaFramework by Marcos Acosta
Framework by Marcos Acosta
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHP
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Fr amework
Fr ameworkFr amework
Fr amework
 
Semana 4 Estructura y componentes SPA
Semana 4  Estructura y componentes SPASemana 4  Estructura y componentes SPA
Semana 4 Estructura y componentes SPA
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Tarea 1
Tarea 1Tarea 1
Tarea 1
 
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQLDesarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
 
Rails intro
Rails introRails intro
Rails intro
 
Frameworrk
FrameworrkFrameworrk
Frameworrk
 

Destacado

Coretos de Portugal
  Coretos de Portugal  Coretos de Portugal
Coretos de PortugalOm Xr
 
000000 utilización de técnicas de mejoramiento genético[1]
000000 utilización de técnicas de mejoramiento genético[1]000000 utilización de técnicas de mejoramiento genético[1]
000000 utilización de técnicas de mejoramiento genético[1]Raquel Navarro
 
Shcp guías de referencia resumen 2013
Shcp guías de referencia resumen 2013Shcp guías de referencia resumen 2013
Shcp guías de referencia resumen 2013Londres181
 
Recommendation letter - Ms. Le Lam Viet Trang (SE Officer)
Recommendation letter - Ms. Le Lam Viet Trang (SE Officer)Recommendation letter - Ms. Le Lam Viet Trang (SE Officer)
Recommendation letter - Ms. Le Lam Viet Trang (SE Officer)Mai Trinh
 
Calculo de máximo y mínimo
Calculo de máximo y mínimoCalculo de máximo y mínimo
Calculo de máximo y mínimoYolber Duque
 
Palestra - Ietec - Fiat
Palestra - Ietec - FiatPalestra - Ietec - Fiat
Palestra - Ietec - FiatYoris Linhares
 
Direito administrativo – cespeesaf
Direito administrativo – cespeesaf  Direito administrativo – cespeesaf
Direito administrativo – cespeesaf Mg Informaticarj
 
Mkateko Ernest_CV_ to Liberty Life
Mkateko Ernest_CV_ to Liberty LifeMkateko Ernest_CV_ to Liberty Life
Mkateko Ernest_CV_ to Liberty LifeMkateko Makhasa
 
Presentacion de sociales
Presentacion de socialesPresentacion de sociales
Presentacion de socialesblancaorellana
 
Métodos de la filosofía
Métodos de la filosofíaMétodos de la filosofía
Métodos de la filosofíaMaría Herrera
 
Flor tivisae londoño
Flor tivisae londoñoFlor tivisae londoño
Flor tivisae londoñoFlor Tivisae
 

Destacado (20)

Coretos de Portugal
  Coretos de Portugal  Coretos de Portugal
Coretos de Portugal
 
000000 utilización de técnicas de mejoramiento genético[1]
000000 utilización de técnicas de mejoramiento genético[1]000000 utilización de técnicas de mejoramiento genético[1]
000000 utilización de técnicas de mejoramiento genético[1]
 
Shcp guías de referencia resumen 2013
Shcp guías de referencia resumen 2013Shcp guías de referencia resumen 2013
Shcp guías de referencia resumen 2013
 
Outubro jardim
Outubro jardimOutubro jardim
Outubro jardim
 
Recommendation letter - Ms. Le Lam Viet Trang (SE Officer)
Recommendation letter - Ms. Le Lam Viet Trang (SE Officer)Recommendation letter - Ms. Le Lam Viet Trang (SE Officer)
Recommendation letter - Ms. Le Lam Viet Trang (SE Officer)
 
Calculo de máximo y mínimo
Calculo de máximo y mínimoCalculo de máximo y mínimo
Calculo de máximo y mínimo
 
Lego serious play
Lego serious playLego serious play
Lego serious play
 
Escuela de padres, TDAH
Escuela de padres, TDAHEscuela de padres, TDAH
Escuela de padres, TDAH
 
Walker evans
Walker evansWalker evans
Walker evans
 
Palestra - Ietec - Fiat
Palestra - Ietec - FiatPalestra - Ietec - Fiat
Palestra - Ietec - Fiat
 
Introdução
IntroduçãoIntrodução
Introdução
 
Comunicação 11 01-14
Comunicação 11 01-14Comunicação 11 01-14
Comunicação 11 01-14
 
Direito administrativo – cespeesaf
Direito administrativo – cespeesaf  Direito administrativo – cespeesaf
Direito administrativo – cespeesaf
 
Mkateko Ernest_CV_ to Liberty Life
Mkateko Ernest_CV_ to Liberty LifeMkateko Ernest_CV_ to Liberty Life
Mkateko Ernest_CV_ to Liberty Life
 
Presentacion de sociales
Presentacion de socialesPresentacion de sociales
Presentacion de sociales
 
Redes de cooperação
Redes de cooperaçãoRedes de cooperação
Redes de cooperação
 
Ementa maio aaaf
Ementa maio aaafEmenta maio aaaf
Ementa maio aaaf
 
resume2
resume2resume2
resume2
 
Métodos de la filosofía
Métodos de la filosofíaMétodos de la filosofía
Métodos de la filosofía
 
Flor tivisae londoño
Flor tivisae londoñoFlor tivisae londoño
Flor tivisae londoño
 

Similar a Framework (20)

Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework presentacion
Framework presentacionFramework presentacion
Framework presentacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Tutorial hacer un crud con prado
Tutorial hacer un crud con pradoTutorial hacer un crud con prado
Tutorial hacer un crud con prado
 
Framework
FrameworkFramework
Framework
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Programacion
ProgramacionProgramacion
Programacion
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Framework
FrameworkFramework
Framework
 
Documento Web2Py
Documento Web2PyDocumento Web2Py
Documento Web2Py
 
Programacion Basica
Programacion Basica Programacion Basica
Programacion Basica
 
Presentación de programacion
Presentación  de programacionPresentación  de programacion
Presentación de programacion
 
Programando en capas
Programando en capasProgramando en capas
Programando en capas
 
Documentacion struts2
Documentacion struts2Documentacion struts2
Documentacion struts2
 

Framework

  • 1. FRAMEWORK Son diseñados con la intención de facilitar el desarrollo de software, permitiendo a los diseñadores y programadores pasar más tiempo identificando requerimientos de software que tratando con los tediosos detalles de bajo nivel de proveer un sistema funcional. Por ejemplo, un equipo que usa Apache Struts para desarrollar un sitio web de un banco, puede enfocarse en cómo los retiros de ahorros van a funcionar en lugar de preocuparse de cómo se controla la navegación entre las páginas en una forma libre de errores. Sin embargo, hay quejas comunes acerca de que el uso de frameworks añade código innecesario y que la preponderancia de frameworks competitivos y complementarios significa que el tiempo que se pasaba programando y diseñando ahora se gasta en aprender a usar los frameworks.
  • 2. FRAMEWORK Fuera de las aplicaciones en la informática, puede ser considerado como el conjunto de procesos y tecnologías usados para resolver un problema complejo. Es el esqueleto sobre el cual varios objetos son integrados para facilitar una solución dada.
  • 3. ARQUITECTURA Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo => Vista), ya que debemos fragmentar nuestra programación. Tenemos que contemplar estos aspectos básicos en cuanto a la implementación de nuestro sistema:
  • 4. MODELO Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de información, su complementación directa.
  • 5. VISTA Al final, a 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 (GUI). Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información.
  • 6. CONTROLADOR Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, 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); pues, sólo debemos controlar ciertos aspectos (como se ha mencionado antes).
  • 7. ESTRUCTURA Dentro del controlador, modelo o vista podemos manejar lo siguiente: datos. Depende de nosotros como interpretar y manejar estos 'datos'. Ahora, sabemos que el único dato de una dirección estática web es: conseguir un archivo físico en el disco duro o de internet, etc. e interpretado o no, el servidor responde.
  • 8. ESTRUCTURA El modelo, al igual que el controlador y la vista, maneja todos los datos que se relacionen consigo (solo es el proceso medio de la separación por capas que ofrece la arquitectura MVC). Y sólo la vista, puede demostrar dicha información. Con lo cual ya hemos generado la jerarquía de nuestro programa: Controlador, Modelo y Vista.
  • 9. LÓGICA Al parecer, debemos inyectar ciertos objetos dentro de sus parientes en esta aplicación, solo así compartirán herencia y coherencia en su aplicación. 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
  • 10. 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']);
  • 11. APLICAR Si nuestro archivo se llama Foo (clase), y nuestro otro archivo, bar (método) 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(); } } Como resultado al solicitar (por ejemplo, ?section=foo&name=bar), deberíamos ver el siguiente texto: Testing
  • 12. EXTENDER Podremos extender nuestro sistema con clases, o funciones propias o de algún 'plugin' o librería 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.
  • 13. 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