Taller de KumbiaPHP en México

Anunciando el próximo Taller de KumbiaPHP en México, este taller se llevará a cabo en el Instituto Tecnológico de San Juan del Río, dentro su 8º congreso Nacional de Tecnologías de la Información. El taller tendrá una duración de 3 x 3 (3 horas x 3 días)

Adelantando la presentación (versión NO final)

Publicidad oficial del Instituto Tecnológico de San Juan del Río

Taller KumbiaPHP Mexico ITSJR

Taller KumbiaPHP Mexico ITSJR

Que necesitas para el taller:

KumbiaPHP en PHP conference Venezuela

php-conference-venezuela

Actualización El 1 y 2 de Agosto 2014 se realizará el PHP Conference Venezuela 2014. La conferencia se realizará en CECIM (Centro de Eventos del Centro Comercial City Market) ubicado en Sabana Grande – Caracas (Cerca de las estaciones del metro de Sabana Grande y Plaza Venezuela), considerado el Centro Tecnológico de la Ciudad, se encuentra en una zona de fácil acceso a medios de transporte, hoteles, y lugares para conocer.

Confirmada la asistencia de KumbiaPHP,  como orador invitado estará Alberto Berroteran, hablando sobre servicios REST y su implementación en KumbiaPHP.

Si eres de Venezuela, aprovecha ahora que las entradas tienen un 50% de descuento. También están disponible entradas para extranjeros con pago via PayPal. Para más información visita: http://www.phpconference.com.ve/

KumbiaPHP en Colombia, Universidad del Valle

KumbiaPHP Universidad del Valle Colombia

El 27 de Mayo, Henry Stivens realizó una charla de KumbiaPHP en la Universidad del Valle a estudiantes de últimos semestres de Tecnolgía en Sistemas de Información y profesores del área.

KumbiaPHP en España, PHP Unconference Europe

PHP Unconference Europe

También estuvimos en la fantástica isla de Mallorca, 17 y 18 de Mayo en la desconferencia europea de PHP.

Si nos sigues en Twitter @KumbiaPHP, te será más fácil saber los próximos eventos de KumbiaPHP.

También agradecer a la gente de Trivago por su agradable fiesta, al terminar la desconferencia :)

KumbiaPHP en Argentina, BarCampNea

barcampNEA

En la desconferencia más grande en informática, 10 de Mayo de 2014 en el Módulo Informático de la FCEQyN de la UNaM. Calle Pellegrini 269 – Apostoles (Misiones). Formosa Capital, Argentina.

KumbiaPHP, aplicaciones a rítmo ágil.

Gracias a Gastón Caminiti, @itinim

Casi listos para las nuevas versiones

Estamos limpiando el código para la salida de las versiones oficiales de KumbiaPHP.

¡Si versiones en plural!

Versión 0.9 -> 100% compatible con la beta2 . En breve.
Versión 1.0 -> Quitaremos todas las libs y código obsoleto.

La 1.0 con muy pequeños cambios funcionaran las apps de beta2, saldrá unas semanas después de la 0.9

Hemos añadido una nueva carpeta a la beta2. En principio era para la 1.0, pero hemos decidido que también esté en la beta2(0.9). Carpeta vendor, dentro de esta carpeta se autocargaran todas las libs que usan PSR0: Symfony, Zend, Doctrine, Swiftmail, PHPExcel, etc.

Con PHP 5.2 se podrán usar todas las libs de PEAR,  zend framework 1 y compatibles.
Con PHP 5.3 todas las clases PSR0 con namespaces.

KumbiaPHP 1.0 no usará namespaces, pero si se pueden usar. Se podrá usar composer (PHP5.3) y todas las libs de packagist. Documentaremos su uso, que es muy fácil. (Esta en fase beta).

Nuevo ActiveRecord

ActiveRecord nuevo (PHP 5.3): Va a muy buen ritmo el desarrollo, ya es funcional, es rapidísimo y no usa memoria prácticamente. En principio tendrá 3 clases principales:

  • LiteRecord: Para los que prefieren usar SQL. Un ActiveRecord básico y sin generador de consultas. Mejor rendimiento. Ya es funcional
  • ActRecord: Nuevo ActiveRecord aun puliendo y añadiendo cosas.
  • ActiveRecord: Clase compatible con el actual ActiveRecord. Será lo más compatible posible, para facilitar la migración de apps.

Se han añadido tests unitarios y la calidad del código es excelente.

https://github.com/KumbiaPHP/ActiveRecord (Repositorio en github)

https://scrutinizer-ci.com/g/KumbiaPHP/ActiveRecord/?branch=master (Calidad de código)

Hemos estado trabajando mucho, tanto que según Ohlo.net, el mes pasado eramos el 4º proyecto libre con más movimiento (hot) de cualquier lenguaje. Y segundos en PHP. Esta como un proyecto con muy alto nivel de actividad, que dan sólo al 0,6% de los proyectos libres.

https://www.ohloh.net/explore/projects  (Listado de los proyectos más ‘hot’)

https://www.ohloh.net/p/KumbiaPHP_framework

Y vienen más cambios interesantes, que iremos comentando.

Después nos faltará crear la V2.0, que será prácticamente igual a la 1.0. Sólo que mínimo PHP5.3 y todo el core de kumbia pasará a vendor/kumbia/

La V2.0 será aun más rápida.

Nueva web en KumbiaPHP

Trabajamos para tener la nueva web lista, para la salida de las nuevas versiones.

proto.kumbiaphp.com

Como siempre se agradece ayuda de la comunidad en:

  • Crear código
  • Marcar bugs
  • Terminar la documentación
  • Dar a conocer KumbiaPHP

Gracias por el apoyo a KumbiaPHP

Cache de template en Kumbiaphp

Buenas buenas! les cuento, en la tarde del día miércoles 13 decido pasar por el IRC de #kumbiaphp, para ver si alguien me echaba una mano con una dificultad que tenía.
Conversación va, conversación viene, el gran “joanhey” expuso algunos tips sobre cache que quisiera compartir con ustedes.
Eh aquí fragmentos destacados de la charla:

matiasrosario 17:33:25
el template se cachea solo verdad? cuando el sitio está en produccion

joanhey 17:33:45
no, debes poner en el controller 17:33:56

joanhey 17:35:10
View::cache($time, ‘template’, $group)

matiasrosario 17:35:17
aaah ok

joanhey 17:35:25
el group es opcional pero muy util, es para agrupar los caches y poderlos borrar si es necesario

joanhey 17:36:14
por ejemplo
si pones ‘posts’ 17:36:24

joanhey 17:36:37
cuando creas un post nuevo puedes borrar todas las caches de posts y dejar las demas 17:37:12

matiasrosario 17:37:33
excelente!!
si yo cacheo algo y los datos que se muestra alli son dinámicos, qué sucede? 17:38:01
ejemplo, cacheo una vista que es un listado de noticias 17:38:12

joanhey 17:38:28
estara cacheado durante el tiempo que le pusiste

matiasrosario 17:38:36
se van agregando nuevas noticias, te las muestra?

joanhey 17:39:12
si esta cacheado no muestra nada nuevo mientras esta cacheado
pero puedes borrar la cache del grupo noticias 17:39:31
al crear una nueva noticia 17:39:38
y se regenerara a la proxima visita 17:39:55

joanhey 17:40:58
pero recuerda
el cache de template 17:41:02
es solo para datos publicos sin auth 17:41:11
ya que la cache de template se ejecuta lo primero de todo 17:41:24
antes del router, controller 17:41:38

joanhey 17:41:53
asi que no puedes usarlo para datos privados

matiasrosario 17:42:25
claro, entiendo
che, muchas gracias por toda esta info 17:42:35

joanhey 17:42:37
se ejecuta lo pirmero de todo y si existe devuelve el template
no sigue con el proceso del req 17:42:51

matiasrosario 17:43:29
claro, ahi está cuando se ahorra todo el tiempo

joanhey 17:43:47
es rapidisima la cache de template
pero esta pensada para webs o datos publicos 17:44:44

matiasrosario 17:45:12
claro

matiasrosario 17:58:35
cuanto tiempo cachea por defecto kumbia?

joanhey 17:58:49
por defecto KumbiaPHP no cachea nada, solo los metadatos de las tablas (en “temp/cache”) para usar en el ActiveRecord 17:59:03
un fw nunca puede decidir cachear 18:01:24
es el programador el que decide que cachear 18:01:34
y por cuanto tiempo 18:01:39

joanhey 18:05:27
cachea el tipo de datos de cada campo
si es string, unique, not null, … 18:05:45

matiasrosario 18:06:08
uuuh mirá vos todo lo que no conocia

joanhey 18:06:17
1 por cada tabla

matiasrosario 18:06:22
es super util para optimizar la velocidad del sitio todo esto

joanhey 18:06:46
no sirve para todos los casos
pero si en muchos 18:06:50
es como cachear los partials 18:07:06

matiasrosario 18:07:08
claro, siempre y cuando no haya un auth de por medio

joanhey 18:07:11
es muy util
eso es solo para la cache de template (lo de auth) 18:07:25
yo no suelo usar cache de template 18:07:37
porque KumbiaPHP es realmente rapido 18:07:44
pero en algunas webs si puede ser util 18:07:56
pero por ejemplo el cache de partials si lo uso mucho 18:08:04
tengo partials que muestran RSS 18:08:34
otros el tiempo 18:08:46
y estan cacheados para no solicitar los datos a la web cada vez 18:09:02
tambien para datos de tablas 18:09:13
por ejemplo 18:09:23
partials para: ultimas noticias, ultimos comentarios,…. 18:09:39
que van en muchas paginas 18:09:47
solo si se añade una noticia 18:10:12
borro el cache de noticias 18:10:17
o si se añade un comentario 18:10:26
el cache de comentarios 18:10:30
el unico que no es valido con el auth es el de template 18:11:12
los demas caches si 18:11:17

matiasrosario 18:20:25
bárbaro hermano, esta charla se merece un post

Vídeo tutoriales para crear template con bootstrap

Roosvelt nos envía 2 nuevos vídeos para crear templates con KumbiaPHP. En este ejemplo usa una plantilla de administración que usa bootstrap.

Gracias a Roosvelt Artizabal de www.tutorialesvirtuales.com , que seguirá creando vídeo tutoriales de KumbiaPHP.

 

Dos nuevos screencast: Instalación de KumbiapPHP y Hola Mundo

Gracias a Roosvelt Aristizabal  de  TutorialesVirtuales.com desde Manizales, Colombia nos trae dos video-tutoriales de muy buena calidad para los que quieren empezar con KumbiaPHP.

Instalar Kumbia PHP en Español

Primeros pasos con KumbiaPHP y su instalación en Windows con xampp.

KumbiaPHP Parte 2 Primera Aplicación

Y como primera aplicación y para entender el MVC se crear el ejemplo del “Hola Mundo”

El cual completamos con el tutorial en la comunidad Cristalab: Programar un “Hola mundo” con KumbiaPHP

iCal con Kumbiaphp beta2

Buen día,

Este es mi primer post para la comunidad y espero les sirva:

Voy a explicar como implementar un iCal  jQuery (Calendario de eventos con estilo similar al del iphone) y poblarlo con los datos que tengo en MySQL a través de Kumbiaphp Framework:

Lo primero que deben hacer, obviamente después de tener configurado Kumbiaphp Beta2, es descargar el iCal desde aquí .  Los archivos .js se ubican en /default/app/public/javascript, el archivo .css se ubica en /default/app/public/css.

Creamos una tabla en MySQL que va a ser nuestro insumo de datos para poblar el calendario (supongo hasta aquí que ya saben que es un modelo, como se configura la base de datos y sus convenciones) :

CREATE TABLE IF NOT EXISTS `agenda` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fecha` date NOT NULL,
`hora_inicio` time NOT NULL,
`hora_fin` time NOT NULL,
`producto_id` int(11) NOT NULL,
`cliente_id` int(11) NOT NULL,
`estado` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;

Si se fijan,  la creación de la tabla está asociada a dos tablas que son cliente y producto.

En la clase modelo agenda.php se crea una función:

public function getCalendario(){

$sql = “SELECT fecha as date, producto.nombre as title,
CONCAT(hora_inicio, ‘ hasta ‘, hora_fin, ‘ ‘, cliente.nombres, ‘ ‘, cliente.apellidos) as ‘desc’
FROM agenda
INNER JOIN cliente ON (agenda.cliente_id=cliente.id)
INNER JOIN producto ON (agenda.producto_id=producto.id)”;

return $this->find_all_by_sql($sql);

}

Cómo pueden ver hay un join a dos tablas asociadas.

En el controlador agenda_controller.php se crea una función que llame la consulta creada en el modelo y lo traiga en un array:

public function verCalendario (){

   $this->calendario = Load::model(‘agenda’)->getCalendario();

}

Luego en el directorio  /default/app/view/_shared/partials se crea un partial, decidí hacer un partial para reutilizarlo en caso de que necesite incluirlo en otras páginas.

<script type=”text/javascript”>
$(document).ready(function()
{
$(“#ical”).ical({
daynames: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
//startOnSunday: true,
eventdates: <?php echo json_encode($Model);?>
});
});
</script>
<div id=”ical”></div>

 Como ven estoy usando la función json_encode que me va a arrojar un formato como este:

eventdates: [{"date": "2009-03-21", "title": "My birthday", "desc": "Its my birthday!"},
{"date": "yyyy-01-01", "title": "New Year", "desc": "Its a new year!"}]

Los alias que utilicé en la consulta del modelo (date,title,desc) están asociados a este formato.

y por último se implementa la vista verCalendario.phtml con el siguiente código:

<?php
echo Tag::js(‘jquery-1.3.2.min’);
echo Tag::js(‘jquery-ical’);
Tag::css(‘master’);
?>
<?php echo View::content();?>
<?php echo View::partial(‘ical/script’,false,array(‘Model’=>$calendario));?>

 Y esto es todo, espero sea de utilidad y si tienen aportes, mejoras o recomendaciones ¡bien recibidas sean!

Saludos.

Página siguiente »