Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Framework kahana
1. INSTITUTO TECNOLOGICO DE
TEHUACAN
FRAMEWORK KAHANA
PROGRAMACION WED
EQUIPO:
JUAREZ ROJAS HEIDI
ALEXANDER ROMAN SANTIAGO
2. FRAMEWORK
"framework" (marco de trabajo) define, en términos generales, un
conjunto estandarizado de conceptos, prácticas y criterios para
enfocar un tipo de problemática particular que sirve como
referencia, para enfrentar y resolver nuevos problemas de índole
similar.
En el desarrollo de 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. INTRODUCCION
KohanaPHP es un framework liviano y flexible para el desarrollo
de aplicaciones web pequeñas y medianas con PHP. Se basa
en CodeIgniter al cual complementa con una mejor
apropiación de la OO y PHP5, así como un mayor soporte
brindado por toda una comunidad. En esta sesión se
expondrán los conceptos del framework necesarios para
empezar a diseñar las aplicaciones web, sin embargo no se
profundizarán en detalles específicos, se recomienda
complementar este documento junto con el wiki de la sección
de documentación.
4. CARACTERÍSTICAS
Basado en CodeIgniter.
Diseño orientado a objetos.
Requiere PHP5.
Soportado por una
comunidad.
Acceso a $GET , $POST ,
$COOKIE y $SESSION .
Manejo de prefijos para
evitar conflictos (simula
namespaces ).
Carga automática de
clases.
Consistencia del API al
manejar el patrón de
controladores ( drivers ).
Control de eventos del
sistema ( events y hooks ).
Liviano.
Seguro.
Extendible.
Compatible con UTF-8.
Desacoplado.
API coherente.
Basado en el patrón MVC
(Modelo-Vista-Controlador).
5. INSTALACIÓN
Descargar el último paquete de la distribución.
Descomprimirlo y ubicarlo en el servidor web de
destino. El archivo index.php deberá quedar en el
directorio raíz del sitio.
Adapte los archivos de configuración ubicados bajo
application/config según sus necesidades.
Especialmente la contenida en config.php .
Permita la escritura ( 666 ) en el directorio
application/logs .
Permita la escritura ( 666 ) en el directorio
application/cache .
Verifique la instalación visitando la dirección base_url
con un navegador web.
6. DIRECTORIOS
DirectoriosSistema de archivos en cascada.
Precedencia: application > modules > system .
Excepciones:
config.php debe estar en application/config .
Los archivos base ubicados en system/core no son
suceptibles de la cascada.
7. DIRECTORIOS BASE
/cache : almacena los archivos para el caché en modo
archivo.
/config : archivos de configuración.
/controllers : controladores.
/helpers : clases ayudante.
/hooks : procesos asociados a eventos del sistema.
/i18n : información de localización.
/libraries : librerías.
/logs : registro de eventos.
/models : modelos.
/vendor : liberías de terceros no integradas al
framework .
/views : vistas.
8. Configuración
Comportamiento en cascada análogo al de la búsqueda
de archivos entre los directorios: application > modules
> system . config.php tendrá que estar ubicado en
application/config . Separada entre varios archivos
según su finalidad. Cada archivo especifica nuevos
índices para el arreglo $config .
Configuración
Las versiones originales residen en system/config y se
puede copiar a las ubicaciones elegidas para
sobreescribir sus valores por defecto. cache.php
cookie.php database.php hooks.php locale.php log.php
mimes.php pagination.php payment.php profiler.php
routes.php session.php upload.php user_agents.php
view.php
9. URLs
Compuestos por segmentos. Es posible alterar el significado de los
segmentos. http://servidor/ index.php?
/controlador/acción/param1/param2 Con reescritura de URL:
http://servidor/controlador/acción/param1/param2
URLs
La solicitud del siguiente recurso ... http://servidor/calculadora/sumar/5/2
Provoca la invocación del método sumar del controlador calculadora
enviándole por parámetro los valores 5 y 2 . Si el método no se
especifica se invoca al método index() . Si el método solicitado no existe
se invoca al método _default() .
Controladores
Interactúan entre el modelo y la vista. Reciben la información del
requerimiento del usuario para gestionar su procesamiento (modelo) y
su presentación (vista). Los nombres (clase/archivo) deben cumplir la
siguiente convención. Ubicación : Almacenado bajo un
/application/controllers . Archivo : blog.php (en minúsculas) Clase :
Blog_Controller ( capitalized )
10. Controladores Ejemplo: application/controllers/blog.php class
Blog_Controller extends Controller { public function
__construct() { parent::__construct(); } public function index() {
// Acción por defecto. } public function updateOwner($post_id,
$newOwner) { // Acción con parámetros. } private function
_internalProc($param) { // Acción interna, no se enrruta. } }
Controladores: métodos especiales index() - invocado cuando
no se especifica ningún controlador en el URL.
_remap($method, $data) - si existe, todos los requerimientos
al controlador son enviados a él. _default($method, $data) -
invocado cuando se solicita una acción inexistente sobre
cualquier controlador. Cualquier método de un controlador
con el modificador private o cuyo nombre comience por
underscore (' _ ') no será enrrutado, es decir, no será visible
como acción.
11. Librerías Amplían la funcionalidad de la plataforma. Son
cargadas de manera automática al requerirse su
ccreación. $this -> libreria = new Libreria(); Los nombres
(clase/archivo) deben cumplir la siguiente convención.
Ubicación : Almacenado bajo un /application/libraries .
Archivo : libreria.php (en minúsculas) Clase :
Libreria_Core (librerías nuevas ) Libreria
(especialización de librerías)
Librerías: de terceros Ubicadas en application/vendors .
Se cargan al framework de la siguiente manera.
Kohana::find_file('vendors', 'nombre_libreria')
Alternativamente se puede utilizar la sintáxis legada.
$this -> load -> library ('nombre_libreria');
12. FUENTES
Enlaces de interés Kohana Framework
http://www.kohanaphp.com/ Documentación
http://docs.kohanaphp.com/ Descargas
http://www.kohanaphp.com/download.html
Tutoriales http://learn.kohanaphp.com/ Foros
http://forum.kohanaphp.com/ CodeIgniter
http://www.codeigniter.com/