Tumia.co Nuestra experiencia

Read More
tumia.co sistema de gestion

En tumia.co tenemos un software de gestión para diferentes tipos de negocios, supermercados, farmacias, consultorios medicos, centros deportivos, gestión de eventos, venta en ruta, entre otros.

Para el software de gestión tumia.co hemos desarrollado más de 30 módulos, creado un API REST y también un APP para Android y para iOS.

Ha sido un trabajo largo, llevamos 5 años en este proyecto y nos apoyamos en Kumbiaphp como se indica en el post que publicamos

Antes de tumia.co …

Antes de crear tumia.co desarrollamos varios sistemas de CRM, de comercio electrónico, de historia clínica, entre otros y eso nos sirvió para ver lo tedioso, complejo y costoso que resulta hacer un software sin un buen framework y sin una buena comunidad que lo respalde.

Crear otros sistemas fue fácil, pero dar soporte, actualizar, mejorar y agregar nuevos módulos era un dolor de cabeza (en ese tiempo).

Mediante Kumbiaphp resolvimos ese asunto, luego de aprender a usar el framework en poco tiempo, creamos una plataforma llamada Recaudo Efectivo con la cual atendíamos la facturación electronica de los clientes, poco a poco fue creciendo, pero a diferencia de los proyectos anteriores, con Kumbiaphp dar mantenimiento, realizar mejoras y agregar nuevos módulos no fue un dolor de cabeza, todo lo contrario.

Con Kumbiaphp crear nuevos módulos y dar soporte es todo un placer.

Equipo de desarrollo de tumia.co

Durante casi 5 años hemos depurado nuestro sistema, en ocaciones no usamos patrones de diseño y nos desviamos, pero retomar el buen camino con el framework y el apoyo de la comunidad resulto en algo muy sencillo.

Continue reading «Tumia.co Nuestra experiencia»

Formularios a base de datos fácilmente con 1 línea de código

Read More

En KumbiaPHP existe una implementación que ahorra muchísimo trabajo a la hora de hacer formularios y la intención es aprovechar al máximo las bondades que ofrece el framework. En este sentido tenemos la Autocarga de objeto, la cual, como su nombre indica asocia un campo de formulario a una tabla y campo de la base de datos.

DDL y modelo para la tabla

Veamos la estructura de la tabla user que hemos visto en ejemplos anteriores:

CREATE TABLE `user` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(255) NOT NULL,
 `age` int(11) NOT NULL DEFAULT '0',
 `email` varchar(255) NOT NULL, 
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Y el modelo para este caso lo haremos heredar de la clase ActiveRecord y lo ubicamos en default/app/models/user.php

<?php

class User extends ActiveRecord
{
    
}

Implementación de la autocarga de objeto

KumbiaPHP implementa la Autocarga de objeto la cual, siguiendo una convención mínima modelo.campo donde para el ejemplo el modelo es user, es decir existe una tabla llamada user en la base de datos y campo serán cada una de las columnas de esa tabla (id, name, age, email).

En concordancia con las columnas de la tabla user se indica el comportamiento de la Autocarga de objeto para que el controller no tenga que recoger uno a uno los valores enviado por POST.

Para este caso usaremos el helper Form:

Archivo: default/app/views/user/create.phtml

<?php View::content() ?>

<?= Form::open() ?>
<?= Form::text('user.name') ?> 
<?= Form::email('user.email') ?>
<?= Form::number('user.age') ?>
<?= Form::submit('Guardar') ?>
<?= Form::close() ?>

Automáticamente cuando esos valores vayan a la url /user/create KumbiaPHP interpreta que existe una tabla user con los campos name, email y age.

Continue reading «Formularios a base de datos fácilmente con 1 línea de código»

Exportar tabla HTML a PDF

Read More
KumbiaPHP y mPDF

En esta segunda parte veremos como exportar una tabla HTML a PDF usando la librería mPDF. Si no has visto la primera parte este es el primer artículo: Crear PDF usando HTML donde aprendimos a crear un PDF usando partials y funciones en un modelo.

Para que tengamos algo de más contenido este ejemplo está basado en el proyecto Paginación en PHP fácil y rápida y la idea es añadir un enlace que nos permita descargar en una tabla el listado de usuarios en un archivo PDF.

Template PDF

Un template permite ahorrar código que se repite en la vistas, permitiendo así un fácil mantenimiento y separación del contenido. Realizará la carga de librería, la cabecera y el pié de página y por supuesto el contenido que queremos mostrar.

Para los que aun no han visto el tema de templates en KumbiaPHP o tienen dudas de su funcionamiento los invito a leer la sección sobre el manejo de vistas en KumbiapHP. A continuación el código completo del template y más abajo con capturas se explica cada parte importante.

Continue reading «Exportar tabla HTML a PDF»

Errores comunes al subir web o aplicación php a producción

Read More

La labor de desarrollo de aplicaciones conlleva problemas que no logramos reconocer a primera vista. Este post tiene por finalidad, ayudarnos a detectar los errores más comunes cuando hacemos el paso a producción (deployment) de nuestra aplicación hecha con KumbiaPHP.

Va especialmente dedicado a nuestros colegas que alguna vez han llegado al chat grupal con la frase:

Es que no funciona en producción

La primera pregunta que debemos resolver es:

¿Por qué no funciona?

A continuación presentamos una lista de los temas más comunes que deberíamos tener en cuenta para resolver la pregunta que impulsa este artículo.

  1. ¿El servidor apache está ejecutándose?
  2. ¿El mod rewrite está activo?
  3. ¿El mod rewrite está configurado para nuestra ruta en el servidor?
  4. ¿PHP está instalado y configurado?
  5. ¿El servidor de bases de datos está activo?
  6. ¿La cuenta en el servidor de bases de datos es la que corresponde en la configuración de nuestra aplicación?
  7. ¿Hemos trasladado todos los cambios desde el servidor de bases de datos de desarrollo hacia el servidor de producción?
  8. ¿Nuestra aplicación tiene los permisos bien configurados?
  9. ¿Hemos copiado completamente la aplicación desde el servidor de desarrollo (incluidos todos los archivos .htaccess)?
  10. ¿Hemos configurado correctamente la constante PUBLIC_PATH?
  11. ¿Podemos usar PATH_INFO o necesitamos cambiar la estrategia de generación de URL?
  12. Si estamos completamente a ciegas, ¿hemos activado la visualización de errores?

NOTA: Si es la primera vez que haces un paso a producción (deployment) a un servidor dedicado o en un hosting compartido, te recomendamos leer los siguientes artículos que hemos alojado en nuestra wiki.

Continuemos entonces con el checklist:

Continue reading «Errores comunes al subir web o aplicación php a producción»

Crear PDF usando HTML

Read More

Para crear PDF usando HTML existen diferentes librerías que nos pueden ayudar a cumplir el objetivo de manera sencilla, esta vez vamos a probar mPDF. mPDF es una librería en PHP la cual permite generar archivos PDF usando HTML(Codificado con UTF-8). Está basada en FPDF y HTML2FPDF, con varias mejoras, fue escrito por Ian Back y lanzado bajo licencia GNU GPL v2.

Instalación de mPDF

El método de instalación oficial es via composer y este es el paquete packagist: mpdf/mpdf.

composer require mpdf/mpdf

Cargando la librería

Como es un ejemplo básico realizaremos la carga de la libería solo en el controlador que vamos a usar. De la siguiente manera:

Archivo: default/app/controllers/index_controller.php

<?php
// Require composer autoload
require_once APP_PATH . '../../vendor/autoload.php';
use Mpdf\Mpdf;
/**
 * Controller por defecto si no se usa el routes
 *
 */
class IndexController extends AppController
{
    public function index()
    {
        
    }
}

Primer ejemplo de crear PDF usando HTML

Creamos la función example1() donde sin usar vista o template creamos el «Hola mundo» del uso de la librería con el siguiente código:

Continue reading «Crear PDF usando HTML»