Akelos es un framework PHP basado en MVC que permite desarrollar aplicaciones web multi-idioma de forma fácil. Utiliza convenciones como nombres de tablas en plural y nombres de campos en singular. Provee funcionalidades como manejo de modelos, vistas, controladores, validaciones y más. Ha sido usado en diversos proyectos como Model Management, Vimity y Lingus.tv.
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)
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
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/
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).