Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guaraní 3 - Autogestión
Performance
Flexibilidad
Fácil de personalizar
¿Chulupí tiene metadatos?
Pros Contras
- Performance
Ventajas de desarrollo:
- Escalabilidad
- Interfaces
Toba - Complejidad de las
- Persistencia
personalizaciones
- Tiempo
- Performance
- Escalabilidad El desarrollo es más
Chulupí - Flexibilidad para artesanal, por lo que
personalizaciones consume más tiempo.
Interconexión Toba - Chulupí
Reportes (Jasper):
Personalizaciones:
+-- src
+-- siu
Catálogo
+-- modelo
+-- datos
+-- db
+-- transacciones Transacción
Catálogo
/**
* cache: memoria
*/
function lista_personas() {
$sql = "SELECT id, nombre, apellido FROM personas";
return kernel::db()->consultar($sql);
}
}
Transacciones
//---------------------------------------------
//-- INFO
//---------------------------------------------
function info__personas() {
return catalogo::consultar('personas',
'lista_personas', array());
}
//---------------------------------------------
//-- Eventos
//---------------------------------------------
function evt__agregar_persona() {
$parametros[‘nombre’] = ‘Jose’;
$parametros[apellido] = ‘Pérez’;
catalogo::consultar('personas', 'insertar_persona',
$parametros);
}
}
kernel::db()->abrir_transaccion();
try {
Implementa la lógica de
...
negocio de la operación.
kernel::db()->cerrar_transaccion();
Consta de:
- PHP: Prepara los datos para ser consumidos por la plantilla.
- Twig: Contenido HTML del pagelet.
- CSS: Estilos.
- JS: Comportamiento en el lado del cliente.
Twig
{% if product.stock > 10 %}
<h1>Available</h1>
{% elseif product.stock > 0 %}
<h1>Only {{ product.stock }} left!</h1>
{% else %}
<h1>Sold-out!</h1>
{% endif %}
<h1>Members</h1>
<ul>
{% for user in users %}
<li>{{ user.username|e }}</li>
{% endfor %}
</ul>
Twig: Mensajes
{{ 'saludo' | trans }}
Twig: Estructuras de Control
{% if menu %}
<ul>
{% for item in menu %}
<li>
{{ item.descripcion }}
</li>
{% endfor %}
</ul>
{% else %}
<div class="mensaje">
{{ 'sin_menu' | trans }}
</div>
{% endif %}
Twig: Herencia
{% extends "kernel/dos_columnas.twig" %}
{% block columna_1 %}
...
{% endblock %}
{% block columna_2 %}
...
{% endblock %}
default.twig de un pagelet
MECANISMO DE
PERSONALIZACIÓN
Personalizaciones
+-- bin
+-- instalacion
+-- src
+-- siu
+-- pers
+-- personalizacion01
+-- personalizacion02
Mecanismo