Web Php

Nueva versión de Xataface 1.2.4

Ya podéis descargar la última versión de xataface, interesante framework para gestión de bases de datos, basado en php, mysql y smarty.

Me gustaría conocer cuales son las nuevas features de esta release, pero en la web del autor solo aparece este comentario:
“It has been a while since the last release of Xataface so I have released a bug fix release that includes all of the small changes that have accumulated over the past several months. This version includes better support for PHP 5.3 and fixes a lot of the small bugs and annoyances that have been pointed out in the forum.

There shouldn’t be any problem upgrading from 1.2.x as there aren’t any major changes here. Just stability improvements for the most part.”

Aprovechando el post, para todo aquel que tenga curiosidad por el funcionamiento de esta herramienta, describiré la instalación rapidamente:

  • Descargamos la última release desde sourceforge
  • Damos permisos de escritura al directorio dataface/Dataface/templates_c para almacenar las plantillas compiladas
  • Verificamos que la instalación es correcta vía url http://tudominio.com/path/to/dataface/dataface_info.php
  • Ahora relacionamos la base de datos con xataface (es el momento de crear tu base de datos si no lo has hecho todavía)
  • Ejecuta el binario makesite que se encuentra en el directorio dataface:
    Uso: makesite: ./makesite app_path user:password@hostname/db_name dataface_url
    donde
    app_path -> Ruta absoluta o relativa al directorio donde se encuentra la aplicación
    user -> Usuario de mysql
    password -> Password de mysql
    hostname -> Nombre del host donde está la base de datos.
    db_name -> Nombre de la base de datos.
    dataface_url -> Url donde has instalado xataface

Por ejemplo:

makesite ../Crm root:password@localhost/Crm /dataface
  • Ejecutando este comando crearíamos un sitio en .. /Crm (es decir, Crm como el directorio padre)
    La base de datos utilizada para este sitio está ubicado en localhost, y el nombre de la base de datos es Crm.
  • A continuación con este comando:
    ./makesite ../Crm \root@localhost/Crm \http://localhost/tu_directorio/dataface
    
  • Crearemos nuestra aplicación en el directorio Crm que será accesible desde el navegador
  • ¿Facil verdad?

    • Share/Bookmark

    Trabajando con Xataface – Gestores de Contenidos

    Introducción
    A la hora de realizar una aplicación web con su gestor de contenidos, normalmente contamos con las opciones de usar un framework de desarrollo que nos ayude en la generación del backend, como pueden ser:

    • Symfony
    • CakePHP
    • CodeIgniter
    • etc

    Utilizar un cms en el que integrar el frontend con una parametrización del backend utilizando:

    • WordPress
    • Joomla
    • Modx
    • Drupal
    • etc

    Y también podemos utilizar Xataface, un potente sistema de gestión de de bases de datos.
    Siguiendo unos pequeños pasos podemos generar un backend que nos va a permitir realizar todas las operaciones básicas (altas, bajas y modificaciones) sobre nuestra base de datos.
    Read the rest of this entry »

    • Share/Bookmark

    Ejecutar Procedimientos Almacenados con Symfony y Doctrine

    En muchos proyectos que parten de cero, se pueden utilizar alternativas al uso de procedures.
    Pero en ocasiones, nos encontramos con modelos de datos en producción que son usados por aplicaciones cliente servidor, web que no podemos modificar lo que nos lleva a utilizar los recursos disponibles y adaptarnos lo mejor posible a la arquitectura y estructura que tiene el cliente.

    Una sencilla forma de ejecutar un procedimiento almacenado con symfony y orm doctrine sería esta:

        $name_proc = 'Nombre_Procedimiento';
        $dsn = 'mssql:dbname=DatabaseName;host=Servidor';
        $user = 'guest';
        $password = '';
    
        try{
    	    $dbh = new PDO($dsn, $user, $password);
    	    $conn=Doctrine_Manager::getInstance()->getCurrentConnection() ;
    	    $conn->prepare($name_proc);
                $q= $conn->fetchAll($name_proc,array(10));
         }
         catch (PDOException $e){
             throw new sfDatabaseException(sprintf('PDOException was thrown when trying to manipulate session data. Message: %s', $e->getMessage()));
          }
    

    Este ejemplo ejecuta un procedimiento almacenado sobre Sql Server, con cambiar el dsn se podría ejecutar en MySql 5+

    Espero que haya sido útil :-)

    • Share/Bookmark

    HipHop (HPHPi), Framework from Facebook for PHP

    Finalmente, lo que era un rumor se cumplió. Bueno… casi. Se hablo de un acelerador, un compilador y una reescritura de la máquina virtual Zend, y aunque en un plano general era cierto que Facebook estuvo años trabajando en silencio para desarrollar una tecnología que acelerara PHP, en la práctica lo hicieron mediante un enfoque distinto.

    Haiping Zhao, del equipo de ingenieros de Facebook, publicó hoy un artículo comentando que Facebook había optado por PHP por considerarlo un lenguaje simple de aprender, simple de escribir, simple de leer y simple de debuguear, pero que al mismo tiempo estaban conscientes de que en comparación con C++ o Java corría más lento y consumía más procesador. Paralelamente, por estar basado en C es posible traducir casi completamente cualquier script de PHP a C++, ya sea mediante reescritura de funciones o generando extensiones como las de PECL.

    Read the rest of this entry »

    • Share/Bookmark

    Php Alternative to Jasper Reports in Sugar Crm – Agata Report

    Después de pasar un tiempo investigando por las necesidades expresadas por uno de mis clientes,

    he encontrado la mejor manera de integrarles un módulo de reporting sin la necesidad de meter Java y Tomcat a través de Jasper Reports.

    El motivo de evitar a toda costa meter Jasper Reports es que considero que es:

    - Un gasto extra de hosting para mi cliente.

    - Mezclar dos tecnologías php y j2ee cuando se puede evitar

    - Cierta desconfianza en el aire sobre los tiempos de generación de informes.

    - Posibles problemas de integración a la hora de querer montar informes al vuelo.

    Por este motivo he seguido buscando y he encontrado una herramienta denominada Agata Report, open source y basada en php. Parece que es justo lo que busco y una gran alternativa a la solución Java.

    Ya os comentaré los resultados.

    • Share/Bookmark

    PHP 5.3 Release Disponible

    Dentro de poco los programadores que usamos php podremos disponer de la nueva release de php 5.3.
    Las principales características que he visto comentadas en una entrevista a Lukas Kahwe son las siguientes:

    - Performance versus memory usage
    -Lambda functions, closures and PHAR

    Tendremos que esperar a PHP 6 para encontrar grandes cambios.

    Esto me recuerda, como las empresas que adquieren o desarrollan software con php, tienen que migrar sus aplicaciones cuando dejan de dar soporte a antiguas versiones, como ocurrió el año 2008 con php4.
    Muchas empresas tuvieron que migrar sus aplicaciones de php4 a php5.
    ¿Como valoraís estas migraciones?
    ¿Cual creeís que debe ser el tiempo que se debe dar soporte a una versión de un lenguaje de programación “gratuito”? ¿Debería de diferir del soporte de un lenguaje que te cobra licencias?
    Imagino que si aportas a la comunidad, en este caso de php donaciones, y te encuentras en un caso como este, te pueden crear parches pero, ¿alguien sabe cuanto cuesta esto?

    Gracias por vuestros comentarios

    • Share/Bookmark