26
Akelos, un Framework Español Multi-Idiomas Potente para PHP Ing. Ronny Velásquez Sánchez

Exposicion Akelos

Embed Size (px)

Citation preview

Page 1: Exposicion Akelos

Akelos, un Framework Español Multi-Idiomas Potente para PHP

Ing. Ronny Velásquez Sánchez

Page 2: Exposicion Akelos

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.

AKELOS PHP FRAMEWORK

Page 3: Exposicion Akelos

¿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.

BENEFICIOS

Page 4: Exposicion 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)

USO DE AKELOS

Page 5: Exposicion Akelos

MVC

Page 6: Exposicion Akelos

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.

Page 7: Exposicion Akelos

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

Page 8: Exposicion Akelos

Estructura (árbol de carpetas) de Akelos

- Akelos- app

- controllers- helpers- installers- locales- models- views

- config- docs- lib- log- public

- images- javascripts- stylesheets

- tmp

Page 9: Exposicion Akelos

Pantalla Inicial de Akelos

Page 10: Exposicion 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) );

Page 11: Exposicion Akelos

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/

Page 12: Exposicion Akelos

Proyecto con Akelos: ATM (Aliwen Tree Manager)

Page 13: Exposicion Akelos

Proyecto con Akelos: ATM (Aliwen Tree Manager)

Page 14: Exposicion Akelos

Proyecto con Akelos: ATM (Aliwen Tree Manager)

Page 15: Exposicion Akelos

Proyecto con Akelos: Openc2c

Page 16: Exposicion Akelos

Proyecto con Akelos: Openc2c

Page 17: Exposicion Akelos

Proyecto con Akelos: Openc2c

Page 18: Exposicion Akelos

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');

}

Page 19: Exposicion Akelos

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.

Page 20: Exposicion Akelos

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'));

}}?>

Page 21: Exposicion Akelos

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}

Page 22: Exposicion Akelos

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).

Page 23: Exposicion Akelos

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();}

Page 24: Exposicion Akelos

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}

Page 25: Exposicion Akelos

Diferencias con otros frameworks en PHP

Page 26: Exposicion Akelos

Más Información

- http://www.akelos.org

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

- http://trac.editam.com/

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

http://dokeoslatinoamerica.wordpress.com/