Download - Exposicion Akelos
Akelos, un Framework Español Multi-Idiomas Potente para PHP
Ing. Ronny Velásquez Sánchez
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
¿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
¿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
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.wordpress.com/