SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Akelos, un Framework Español Multi-Idiomas Potente para PHP

               Ing. Ronny Velásquez Sánchez
AKELOS PHP FRAMEWORK




Es una plataforma de desarrollo de aplicaciones Web basado en el
MVC (Modelo Vista Controlador), nos permite:

1.- Escribir opiniones usando Ajax fácilmente.

2.- Control de las solicitudes y las respuestas a través de un
controlador.

3.- Gestión de aplicaciones internacionalizadas.

4.- Comunicar los modelos y la base de datos mediante simples
convenciones.
BENEFICIOS



¿Quién puede beneficiarse con el Framework Akelos?

1.- Los desarrolladores Web pueden escribir sus aplicaciones con
Base de datos usando PHP.

2.- Los desarrolladores PHP que desean una experiencia más
agradable con la escritura de sus aplicaciones.

3.- Las empresas y desarrolladores que quieren vender o distribuir
sus aplicaciones sin necesidad de una configuración especial.

4.-Aquellos desarrolladores que requieren desarrollar         sus
aplicaciones en multi - idiomas para todo tipo de mercado.
USO DE AKELOS


¿Quién usa actualmente Akelos?

Akelos ha evolucionado a partir del trabajo realizado en muchos
sitios, lamentablemente no son públicos. Éstos son algunos de los
proyectos públicos utilizando el Framework de Akelos PHP

- Model Management (Professional tool for Models, Agencies and
Scouts)

- Vimity (Network for visual media industry professionals)

- Lingus.tv (An online television for learning Spanish)

- FlashMotor.tv (Daily motor news in Spanish)

- Editam (Open Source Content Management Platform)
MVC
Instalando Akelos ...




1.- Bajar la versión estable, actualmente la 0.9 de la Web
Oficial www.akelos.org

2.- Renombramos la carpeta “akelos” y copiamos en nuestro
directorio, por ejemplo: /var/www/akelos

3.- Luego damos los permisos necesarios para iniciar la
instalacion: /public/, /config/, /tmp/

4.- Si queremos (opcional) creamos un virtual host y en
nuestro navegador iniciamos la instalación.
Comandos importantes




- sudo ./script/migrate Framework install

- sudo ./script/generate scaffold Book

- sudo ./script/controller Basemain::Product install

- sudo ./script/migrate Framework install 2

- sudo ./script/migrate Framework uninstall 1

Nota: Previamente se debe de tener instalado el PHPCli
Estructura (árbol de
                          carpetas) de Akelos

- Akelos
    - app
          - controllers
          - helpers
          - installers
          - locales
          - models
          - views
    - config
    - docs
    - lib
    - log
    - public
          - images
          - javascripts
          - stylesheets
    - tmp
Pantalla Inicial de Akelos
Convenciones en Akelos




Algunas de las convenciones en Akelos y que tenemos que
tener en cuenta al momento de desarrollar con Akelos son:

1.- En las estructuras de las tablas: los nombres de las tablas
deben ser en plural, los nombres de los campos son en
singular, su identificador primario siempre es un “id”
numerico y la relacion entre tablas es el nombre de la tabla
mas un “_id”.

$this->createTable('products',
     'id,'.
     'name(100)', array('timestamp'=>false)
 );
Convenciones en Akelos




2.- El nombre de los controladores siempre es el nombre del
modelo(tabla) en singular acompañado con “_controller.php”,
ejemplo: product_controller.php.

3.- El nombre de los modelos son en singular, ejemplo:
product.php.

4.- Siempre hay que tener en cuenta que con Akelos
trabajamos con objetos, entonces al llamar por navegador a
un metodo de una clase, por ejemplo listing de la clase
Product, entonces sería: http://myakelos.net/product/listing/
Proyecto con Akelos: ATM
 (Aliwen Tree Manager)
Proyecto con Akelos: ATM
 (Aliwen Tree Manager)
Proyecto con Akelos: ATM
 (Aliwen Tree Manager)
Proyecto con Akelos:
     Openc2c
Proyecto con Akelos:
     Openc2c
Proyecto con Akelos:
     Openc2c
Controladores




- Actúan ante peticiones de usuarios para crear, mostrar,
actualizar o eliminar un objeto (Ej. Post).

- Responde renderizando una vista (parsea una plantilla) o
redirigiendo a otra accion.

Un pequeño código:

function listing() {
    $this->people = $this->Person->find('all');
}
Modelos




- Implementan las normas del negocio mediante clases como
Usuario, Comentario, Producto.

- Mantienen los datos y la lógica unidos: Un producto tiene un
nombre y sabe si está disponible.

- Representa las relaciones del modelo, por ejemplo: Un
producto tiene varios comentarios y pertenece a una
categoria.
Modelos




- app/models/product.php:

<?php
class Product extends ActiveRecord {
   var $belongs_to = 'category';

     var $has_many = 'comments';

     function validate(){
         $this-> validatesPrecenceOf(array('title', 'body'));
     }
}
?>
Vistas




- Representación de los modelos en HTML.

- Lógica avanzada dentro de helpers.

- Sintags como lenguaje de plantillas o PHP seguro.

Un pequeño código:

{loop products}
    _{Product title:} {product.title}
{end}
AKActionController




- Acciones agrupadas en el controlador (las acciones son
métodos y no objetos, métodos auxiliares (helpers)).

- Proceso (Asignaciones y HTTP Status headers).

- Redirección Url, ruta, acción, controlador.

- Filtros (cadena de proceso, separación de
responsabilidades).
AKActiveRecord



- Mapeado (create, read, update, destroy)
Ejemplo:
    $Person = new Person($attrs);
    $Person->save();
    $Person->name = 'Prueba';
    $Person->save();
    $Person->destroy();

- Validaciones (Basadas en atributos, save/create/update).

- Callbacks, ejemplo:
    function beforeDestroy(){
        $this->destroyThumbnails();
    }
AKActionView




- PHP limitado (PHP directamente en las vistas), ejemplo:
    $User->findFirstByh('name', 'prueba');

- Template languages (archivo.tpl), ejemplos:
    <h1>{Post.title}</h1>

   _{Post Category}

   <% post_categories Post %>

   {loop Post.comments}
Diferencias con otros
 frameworks en PHP
Más Información




- http://www.akelos.org

- http://www.akelos.org/screencasts

- http://trac.editam.com/

-http://www.bermi.org/inflector

http://dokeoslatinoamerica.wordpre
ss.com/

Más contenido relacionado

La actualidad más candente

Joomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesJoomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesdeivit86
 
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...JaenFrankcezco
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPJavier López López
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Guia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositioswebGuia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositiosweblissette_torrealba
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006Samuel Marrero
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularFreelancer
 
Grails: Framework para el desarrollo de aplicaciones Web No 4
Grails: Framework para el desarrollo de aplicaciones Web No 4Grails: Framework para el desarrollo de aplicaciones Web No 4
Grails: Framework para el desarrollo de aplicaciones Web No 4Esteban Saavedra
 
MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!SergioIglesiasNET
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Rafael Franco
 
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
Joomla! en 10 minutos  - JoomlaDay Sevilla 2015Joomla! en 10 minutos  - JoomlaDay Sevilla 2015
Joomla! en 10 minutos - JoomlaDay Sevilla 2015Carlos M. Cámara
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan phpCarlos Zantana
 
Desarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend FrameworkDesarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend Frameworkricsoc
 

La actualidad más candente (20)

Joomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesJoomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensiones
 
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHP
 
Charla
CharlaCharla
Charla
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Guia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositioswebGuia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositiosweb
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Grails: Framework para el desarrollo de aplicaciones Web No 4
Grails: Framework para el desarrollo de aplicaciones Web No 4Grails: Framework para el desarrollo de aplicaciones Web No 4
Grails: Framework para el desarrollo de aplicaciones Web No 4
 
MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
 
Framework
FrameworkFramework
Framework
 
Introduccion mvc
Introduccion mvcIntroduccion mvc
Introduccion mvc
 
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
Joomla! en 10 minutos  - JoomlaDay Sevilla 2015Joomla! en 10 minutos  - JoomlaDay Sevilla 2015
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan php
 
Desarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend FrameworkDesarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend Framework
 
Analista de testing6
Analista de testing6Analista de testing6
Analista de testing6
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 

Similar a Exposicion Akelos

Similar a Exposicion Akelos (20)

Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Framework kahana
Framework kahanaFramework kahana
Framework kahana
 
Framework 02
Framework 02Framework 02
Framework 02
 
Programacion MVC.net
Programacion MVC.netProgramacion MVC.net
Programacion MVC.net
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Framework
FrameworkFramework
Framework
 
Manualcake
ManualcakeManualcake
Manualcake
 
Taller de zan php
Taller de zan phpTaller de zan php
Taller de zan php
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Presentación1
Presentación1Presentación1
Presentación1
 
Magento, uso, desarrollo y diseño
Magento, uso, desarrollo y diseñoMagento, uso, desarrollo y diseño
Magento, uso, desarrollo y diseño
 
Framework by Marcos Acosta
Framework by Marcos AcostaFramework by Marcos Acosta
Framework by Marcos Acosta
 
Webutil
WebutilWebutil
Webutil
 
Gestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniterGestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniter
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
 

Más de dokeosla

Dokeos Primaria
Dokeos PrimariaDokeos Primaria
Dokeos Primariadokeosla
 
Firefox Para Desarrolladores
Firefox Para DesarrolladoresFirefox Para Desarrolladores
Firefox Para Desarrolladoresdokeosla
 
Desarrollo de interfaces web para celulares en PHP
Desarrollo de interfaces web para celulares en PHPDesarrollo de interfaces web para celulares en PHP
Desarrollo de interfaces web para celulares en PHPdokeosla
 
Comunidad de Dokeos en Perú
Comunidad de Dokeos en PerúComunidad de Dokeos en Perú
Comunidad de Dokeos en Perúdokeosla
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomiadokeosla
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomiadokeosla
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomiadokeosla
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomiadokeosla
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelosdokeosla
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomiadokeosla
 
Implementación de un listado de categorías con Drupal 6 usando Taxonomy
Implementación de un listado de categorías con Drupal 6 usando TaxonomyImplementación de un listado de categorías con Drupal 6 usando Taxonomy
Implementación de un listado de categorías con Drupal 6 usando Taxonomydokeosla
 
Articles 186359 Lineamientos 1
Articles 186359 Lineamientos 1Articles 186359 Lineamientos 1
Articles 186359 Lineamientos 1dokeosla
 
Conectividad Educativa de Informática Básica para el Aprendizaje en línea
Conectividad Educativa de Informática Básica para el Aprendizaje en líneaConectividad Educativa de Informática Básica para el Aprendizaje en línea
Conectividad Educativa de Informática Básica para el Aprendizaje en líneadokeosla
 
Experiencia Dokeos en Escuela de Uruguay
Experiencia Dokeos en Escuela de UruguayExperiencia Dokeos en Escuela de Uruguay
Experiencia Dokeos en Escuela de Uruguaydokeosla
 
Taller Implementacion indicadores ANR
Taller Implementacion indicadores ANRTaller Implementacion indicadores ANR
Taller Implementacion indicadores ANRdokeosla
 
Indicadores Cna
Indicadores CnaIndicadores Cna
Indicadores Cnadokeosla
 
Calidad y Acreditación
Calidad y AcreditaciónCalidad y Acreditación
Calidad y Acreditacióndokeosla
 
Conectando Drupal A Dokeos
Conectando Drupal A DokeosConectando Drupal A Dokeos
Conectando Drupal A Dokeosdokeosla
 

Más de dokeosla (20)

Dokeos Primaria
Dokeos PrimariaDokeos Primaria
Dokeos Primaria
 
Firefox Para Desarrolladores
Firefox Para DesarrolladoresFirefox Para Desarrolladores
Firefox Para Desarrolladores
 
Desarrollo de interfaces web para celulares en PHP
Desarrollo de interfaces web para celulares en PHPDesarrollo de interfaces web para celulares en PHP
Desarrollo de interfaces web para celulares en PHP
 
Comunidad de Dokeos en Perú
Comunidad de Dokeos en PerúComunidad de Dokeos en Perú
Comunidad de Dokeos en Perú
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomia
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomia
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomia
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomia
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelos
 
Exposicion Taxonomia
Exposicion TaxonomiaExposicion Taxonomia
Exposicion Taxonomia
 
Implementación de un listado de categorías con Drupal 6 usando Taxonomy
Implementación de un listado de categorías con Drupal 6 usando TaxonomyImplementación de un listado de categorías con Drupal 6 usando Taxonomy
Implementación de un listado de categorías con Drupal 6 usando Taxonomy
 
Ceibal
CeibalCeibal
Ceibal
 
Articles 186359 Lineamientos 1
Articles 186359 Lineamientos 1Articles 186359 Lineamientos 1
Articles 186359 Lineamientos 1
 
Ceibal
CeibalCeibal
Ceibal
 
Conectividad Educativa de Informática Básica para el Aprendizaje en línea
Conectividad Educativa de Informática Básica para el Aprendizaje en líneaConectividad Educativa de Informática Básica para el Aprendizaje en línea
Conectividad Educativa de Informática Básica para el Aprendizaje en línea
 
Experiencia Dokeos en Escuela de Uruguay
Experiencia Dokeos en Escuela de UruguayExperiencia Dokeos en Escuela de Uruguay
Experiencia Dokeos en Escuela de Uruguay
 
Taller Implementacion indicadores ANR
Taller Implementacion indicadores ANRTaller Implementacion indicadores ANR
Taller Implementacion indicadores ANR
 
Indicadores Cna
Indicadores CnaIndicadores Cna
Indicadores Cna
 
Calidad y Acreditación
Calidad y AcreditaciónCalidad y Acreditación
Calidad y Acreditación
 
Conectando Drupal A Dokeos
Conectando Drupal A DokeosConectando Drupal A Dokeos
Conectando Drupal A Dokeos
 

Exposicion Akelos

  • 1. Akelos, un Framework Español Multi-Idiomas Potente para PHP Ing. Ronny Velásquez Sánchez
  • 2. AKELOS PHP FRAMEWORK Es una plataforma de desarrollo de aplicaciones Web basado en el MVC (Modelo Vista Controlador), nos permite: 1.- Escribir opiniones usando Ajax fácilmente. 2.- Control de las solicitudes y las respuestas a través de un controlador. 3.- Gestión de aplicaciones internacionalizadas. 4.- Comunicar los modelos y la base de datos mediante simples convenciones.
  • 3. BENEFICIOS ¿Quién puede beneficiarse con el Framework Akelos? 1.- Los desarrolladores Web pueden escribir sus aplicaciones con Base de datos usando PHP. 2.- Los desarrolladores PHP que desean una experiencia más agradable con la escritura de sus aplicaciones. 3.- Las empresas y desarrolladores que quieren vender o distribuir sus aplicaciones sin necesidad de una configuración especial. 4.-Aquellos desarrolladores que requieren desarrollar sus aplicaciones en multi - idiomas para todo tipo de mercado.
  • 4. USO DE AKELOS ¿Quién usa actualmente Akelos? Akelos ha evolucionado a partir del trabajo realizado en muchos sitios, lamentablemente no son públicos. Éstos son algunos de los proyectos públicos utilizando el Framework de Akelos PHP - Model Management (Professional tool for Models, Agencies and Scouts) - Vimity (Network for visual media industry professionals) - Lingus.tv (An online television for learning Spanish) - FlashMotor.tv (Daily motor news in Spanish) - Editam (Open Source Content Management Platform)
  • 5. MVC
  • 6. Instalando Akelos ... 1.- Bajar la versión estable, actualmente la 0.9 de la Web Oficial www.akelos.org 2.- Renombramos la carpeta “akelos” y copiamos en nuestro directorio, por ejemplo: /var/www/akelos 3.- Luego damos los permisos necesarios para iniciar la instalacion: /public/, /config/, /tmp/ 4.- Si queremos (opcional) creamos un virtual host y en nuestro navegador iniciamos la instalación.
  • 7. Comandos importantes - sudo ./script/migrate Framework install - sudo ./script/generate scaffold Book - sudo ./script/controller Basemain::Product install - sudo ./script/migrate Framework install 2 - sudo ./script/migrate Framework uninstall 1 Nota: Previamente se debe de tener instalado el PHPCli
  • 8. Estructura (árbol de carpetas) de Akelos - Akelos - app - controllers - helpers - installers - locales - models - views - config - docs - lib - log - public - images - javascripts - stylesheets - tmp
  • 10. Convenciones en Akelos Algunas de las convenciones en Akelos y que tenemos que tener en cuenta al momento de desarrollar con Akelos son: 1.- En las estructuras de las tablas: los nombres de las tablas deben ser en plural, los nombres de los campos son en singular, su identificador primario siempre es un “id” numerico y la relacion entre tablas es el nombre de la tabla mas un “_id”. $this->createTable('products', 'id,'. 'name(100)', array('timestamp'=>false) );
  • 11. Convenciones en Akelos 2.- El nombre de los controladores siempre es el nombre del modelo(tabla) en singular acompañado con “_controller.php”, ejemplo: product_controller.php. 3.- El nombre de los modelos son en singular, ejemplo: product.php. 4.- Siempre hay que tener en cuenta que con Akelos trabajamos con objetos, entonces al llamar por navegador a un metodo de una clase, por ejemplo listing de la clase Product, entonces sería: http://myakelos.net/product/listing/
  • 12. Proyecto con Akelos: ATM (Aliwen Tree Manager)
  • 13. Proyecto con Akelos: ATM (Aliwen Tree Manager)
  • 14. Proyecto con Akelos: ATM (Aliwen Tree Manager)
  • 18. Controladores - Actúan ante peticiones de usuarios para crear, mostrar, actualizar o eliminar un objeto (Ej. Post). - Responde renderizando una vista (parsea una plantilla) o redirigiendo a otra accion. Un pequeño código: function listing() { $this->people = $this->Person->find('all'); }
  • 19. Modelos - Implementan las normas del negocio mediante clases como Usuario, Comentario, Producto. - Mantienen los datos y la lógica unidos: Un producto tiene un nombre y sabe si está disponible. - Representa las relaciones del modelo, por ejemplo: Un producto tiene varios comentarios y pertenece a una categoria.
  • 20. Modelos - app/models/product.php: <?php class Product extends ActiveRecord { var $belongs_to = 'category'; var $has_many = 'comments'; function validate(){ $this-> validatesPrecenceOf(array('title', 'body')); } } ?>
  • 21. Vistas - Representación de los modelos en HTML. - Lógica avanzada dentro de helpers. - Sintags como lenguaje de plantillas o PHP seguro. Un pequeño código: {loop products} _{Product title:} {product.title} {end}
  • 22. AKActionController - Acciones agrupadas en el controlador (las acciones son métodos y no objetos, métodos auxiliares (helpers)). - Proceso (Asignaciones y HTTP Status headers). - Redirección Url, ruta, acción, controlador. - Filtros (cadena de proceso, separación de responsabilidades).
  • 23. AKActiveRecord - Mapeado (create, read, update, destroy) Ejemplo: $Person = new Person($attrs); $Person->save(); $Person->name = 'Prueba'; $Person->save(); $Person->destroy(); - Validaciones (Basadas en atributos, save/create/update). - Callbacks, ejemplo: function beforeDestroy(){ $this->destroyThumbnails(); }
  • 24. AKActionView - PHP limitado (PHP directamente en las vistas), ejemplo: $User->findFirstByh('name', 'prueba'); - Template languages (archivo.tpl), ejemplos: <h1>{Post.title}</h1> _{Post Category} <% post_categories Post %> {loop Post.comments}
  • 25. Diferencias con otros frameworks en PHP
  • 26. Más Información - http://www.akelos.org - http://www.akelos.org/screencasts - http://trac.editam.com/ -http://www.bermi.org/inflector http://dokeoslatinoamerica.wordpre ss.com/