viernes, 25 de febrero de 2011

Tutorial: Creando un bonito y estilizado contador con php y GD library.(parte 2)

Ahora si vamos a por el script


Paso 1: Comenzando con el desarrollo.

Primero vamos a necesitar un fondo para nuestra imagen. Yo les proporciono este con el logo de Codeigniter para probar, tiene un tamaño de 400x60 a este fondo le vamos a poner ‘fondo.jpg’ ustedes pueden usar el que prefieran.



Ahora vamos a crear un archivo que se llame contador.php y vamos a colocar lo siguiente


<?php 
Header("Content-type: image/png"); 
$im = imagecreatefromjpeg("fondo.jpg"); 
imagepng($im); 
imagedestroy($im); 
?> 

Vamos a utilizar la función header para especificar que esto va a ser una imagen png, hago esto de esta manera para que se den cuenta que aunque creemos una imagen a partir de una en jpeg podemos crear una en formato png o gif como queramos. Veremos que al ejecutar nuestro script veremos la misma imagen que tenemos en la carpeta y también si revisamos la información de la imagen veremos que dice imagen png.


Paso 2: Imprimiendo el numero en la imagen.


Vamos a necesitar ahora una fuente TrueType, en San google podremos conseguir cualquier cantidad de fuentes, yo les proporciono en el archivo final una para este ejercicio que se llama 'Broken Poster Tour.ttf', para poder usar esta letra vamos a requerir primero crear un color para nuestra letra así que vamos a añadir los comandos antes vistos Imagettftext y Imagecolorallocate. Nuestro código nos va a ir quedando así:

<?php 
$numero=5;
Header("Content-type: image/png"); 
$im = imagecreatefromjpeg("fondo.jpg"); 
$col = imagecolorallocate($im, 255, 255, 255); 
imagettftext ($im, 35, 0, 90, 50, $col, 'Broken Poster Tour.ttf',$numero); 
imagepng($im); 
imagedestroy($im); 
?>

Si vamos bien hasta ahora debemos tener de salida algo así:


Nota: si nos sale un error en FireFox que diga así:


No se puede Mostrar la siguiente imagen “xx” porque contiene errores


Debemos primero comentar con ‘//’ la función header, guardar y volver a ejecutar para poder ver cual es el error que tenemos.


Paso 3: Dándole un formato acorde al numero.


A partir de este paso ya no tiene nada que ver con la creación de imágenes sino mas bien con mejorar nuestro script, en este paso vamos a dar formato al texto para que tenga una longitud siempre igual y con delimitador de miles, para ello vamos a usar estas dos funciones: number_format y str_pad.


Number_format: esta función nos va a dar formato el número con separador de miles. Así va a ir quedando nuestro número:

$numero = number_format($numero, 0, '', '.'); 

Str_pad: rellena un texto a cierto tamaño con una cadena. Después le agregamos esta función y nos queda así:

$numero = str_pad(number_format($numero, 0, '', '.'),8,'0', STR_PAD_LEFT); 

Con esto ya tenemos un número de longitud con su respectivo separador de miles con punto. El código nos debe ir quedando así:

<?php 
$numero=5; 
$numero = str_pad(number_format($numero, 0, '', '.'),8,'0', STR_PAD_LEFT); 
Header("Content-type: image/png"); 
$im = imagecreatefromjpeg("fondo.jpg"); 
$col = imagecolorallocate($im, 255, 255, 255); 
imagettftext ($im, 35, 0, 90, 50, $col, 'Broken Poster Tour.ttf',$numero); 
imagepng($im); 
imagedestroy($im); 
?> 

Paso 4: Almacenando el numero.

Ahora ya tenemos una script en php que genera contador nos falta es un lugar donde guardar el numero para que cada ves que alguien visite nuestra pagina se aumente en uno, en este ejemplo vamos a almacenar el numero en un archivo que vamos a llamar ‘contador.dat’.

Primero abrimos el archivo con Fopen donde tenemos que especificar la ruta del archivo y el modo, el modo que vamos a poner es ‘r+’, porque así vamos a poder leer y escribir a la ves nuestro archivo, eso si nuestro archivo debe existir si nos dará error.


Después leemos con fread(), devolvemos el puntero al inicio del archivo con rewind(), escribimos el nuevo total con fwrite() y cerramos la conexión fclose(). Al final nuestro script quedaría de la siguiente forma:

<?php
$archivo = "contador.dat";   
$abre = Fopen($archivo, "r+"); 
$numero = fread($abre, Filesize($archivo)); 
rewind($abre); 
Fwrite($abre, ++$numero); 
Fclose($abre); 

$numero = str_pad(number_format($numero, 0, '', '.'),8,'0', STR_PAD_LEFT); 
Header("Content-type: image/png"); 
$im = imagecreatefromjpeg("fondo.jpg"); 
$col = imagecolorallocate($im, 255, 255, 255); 
imagettftext ($im, 35, 0, 90, 50, $col, 'Broken Poster Tour.ttf',$numero); 
imagepng($im); 
imagedestroy($im); 

?> 



Paso 5: Evitando contar números de más.


Ya tenemos nuestro contador listo y operativo, pero ahora nos surge un problema, el contador se va a actualizar cada ves que yo refresque la pagina ¿Pero de verdad quiero yo eso? Si yo quiero saber realmente el número de personas que visiten mi página, no me va a interesar que se cambie la cantidad de visitas cada ves que cargue la página sino cuando entre una persona diferente diariamente. Para hacer esto vamos a utilizar las cookies, vamos a almacenar con la función setcookie una variable en el navegador del visitante con un tiempo de vida de 24 horas, para que así tengamos un contador más realista. Agregaremos este código:

if (!isset($_COOKIE['visita'])) //comprobamos que la cookie NO este ya puesta
{
// aqui editaremos el archivo y guardaremos el numero
setcookie("visita", "lo que sea", time()+86400); //estableceremos la cookie con una caducidad de 24h = 86400seg
} 

Y el código a la final nos quedaria asi.

<?php 
    $archivo = "contador.dat"; 
    $abre = Fopen($archivo, "r+");
    $numero = fread($abre, Filesize($archivo));
    if (!isset($_COOKIE['visita'])) 
    {
        rewind($abre);
        Fwrite($abre, ++$numero);
        setcookie("visita", "lo que sea" , time()+86400);
    }
    Fclose($abre);

    $numero = str_pad(number_format($numero, 0, '', '.'),8,'0', STR_PAD_LEFT);
    
    Header("Content-type: image/png");
    $im = imagecreatefromjpeg("fondo.jpg");
    $col = imagecolorallocate($im, 255, 255, 255);
    imagettftext ($im, 35, 0, 90, 50, $col, 'Broken Poster Tour.ttf',$numero);
    imagepng($im);
    imagedestroy($im);
    setcookie("TestCookie", $value);
?> 
 
Aqui esta el archivo completo con fuentes y todo.
http://www.megaupload.com/?d=ED5CV7UD

miércoles, 23 de febrero de 2011

Manipulando las cabeceras HTTP con php

¿Qué es HTTP?

HTTP es el protocolo de transmisión de datos que le da vida a la gran telaraña mundial de la Web, es lo que permite que hoy cree un blog y tú lo puedas leer, este protocolo se basa en transacciones independientes una de otra y sigue el esquema petición respuesta entre cliente-servidor, cada transacción consta de una línea de petición, cabecera general, cabecera de solicitud o respuesta, cabecera de entidad y cuerpo de entidad.

Este protocolo NO guarda la información sobre conexiones anteriores. Para el desarrollo de aplicaciones Web dinámicas se requiere mantener alguna información y para ello se instaura la noción de sesiones del lado del servidor y también se pueden guardar pequeñas cantidades de información en las en el navegador, ha esta información que se guarda en el navegador se le llaman cookies.

Para profundizar más sobre el protocolo pueden visitar:

http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol

¿Como manipular las cabeceras HTTP con php?

Php tiene la función header() que le permite al programador manejar esas cabeceras de respuesta que se envían de el servidor al cliente dándole mayor poder a nuestros códigos. Esta función se debe utilizar por ejemplo cuando vamos a mostrar una imagen o un documento xml, cuando vamos a redirigir la pagina actual y esto lo vamos a hacer con php. Otra función importante también es setcookie() que se encarga de enviar guardar cookies en el navegador.

Aquí les dejo unos ejemplos de la funcion header y setcookie:

Header("Content-type: image/png"); // esta cabecera le indica al navegador el mime type
header("Location: http://www.google.com.ve"); // le dice al navegador que cambia la url a google
header("HTTP/1.0 404 Not Found"); // manda el error 404 al navegador
setcookie("TestCookie", 'valor de la cookie'); //manda la cookie al navegador.
Header("Content-disposition: attachment; filename=photo.jpg");//forza la descarga de un archive


Las cabeceras deben ser enviadas antes de cualquier salto de línea, letra o lo que sea, sino nos dará un error como el siguiente:

Warning: Cannot modify header information - headers already sent by (output started at  xxxx:17) in xxxxx  on line 19


Si nos sale este error es porque ya a habido una salida y no se pueden modificar las cabeceras, por eso también debemos estar pendientes de cualquier espacio o salto de línea antes de iniciar nuestras etiquetas.

Tutorial: Creando un bonito y estilizado contador con php y GD library.(parte 1)

Esta entrada del blog la voy a utilizar para mostrar como podemos crear nuestro propio contador, sencillo y personalizado para nuestra pagina Web con php y la librería gd. Pero primero un poco de explicación.

PHP aunque sea una sorpresa para algunos no sirve solo para generar documentos html y conectarse con la base de datos, php es un lenguaje muy poderoso que nos permite también generar y manipular imágenes, con esta librería podemos hacer muchas cosas desde crear una imagen sencilla hasta complejas graficas, lo cual puede llegar a ser muy útil para nuestros proyectos.

La librería GD es una librería escrita en c de código abierto para permitir a los programadores la creación de imágenes. Se pueden trabajar con imágenes de tipo png, jpg, gif y algunos otros formatos, pero los más importantes para la Web son los tres que nombre. Funciones gd

Para leer este tutorial les recomiendo empezar leyendo primero sobre manejo de archivos y headers para seguir mejor el curso.

Primero les voy a hacer una pequeña descripción de las funciones de la librería GD que vamos a usar, si ya saben para que sirven se lo pueden saltar:

Imagecreatefromjpeg($filename)
Imagecreatefromgif($filename)
Imagecreatefrompng($filename)


$filename = Dirección de la imagen del archivo. Tipo texto.

Estas tres funciones crean identificadores de imágenes representando la imagen obtenida del archivo especificado, dependiendo del tipo de imagen que usemos debemos usar la correspondiente.

Imagecolorallocate($im, $red, $green, $blue)


$im= Identificador de imagen.
$red = Cantidad de color rojo, tipo numero (0 a 255)
$green = Cantidad de color verde, tipo numero (0 a 255)
$blue = Cantidad de color azul, tipo numero (0 a 255)

Crea un identificador de color para una imagen específico basado en colores RGB.

Imagettftext( $im, $size, $angle, $x, $y, $color, $fontfile, $text )


$im = Identificador de imagen.
$size = Tamaño de la letra, tipo numero.
$angle = angulo de la imagen, tipo numero
$x = cordenadas x donde se va a ubicar el texto
$y = cordenadas y donde se va a ubicar el texto
$color = identificador de color para esta imagen(define el color del texto)
$fontfile = dirección de una fuente TrueType.
$text = Texto que se va a escribir en la imagen.

Este comando escribe en nuestra imagen con el tipo de fuente que le hayamos especificado.

Imagepng ($image, $filename, $quality, $filters)  
Imagejpeg ($image, $filename, $quality)  
Imagegif ($image, $filename)


$image= identificador de la imagen
$filename = (opcional) dirección donde se guardara la imagen
$quality = (opcional) calidad de la imagen. Por defecto es 75
$filters = (opcional) Permite la reduccion de el tamaño de la imagen png

Todos estos comandos generan la imagen como tal en cada uno de los diferentes formatos. Si especificamos la variable $filename se guardara en un archivo sino se generara y se mostrara por el explorador.

Imagedestroy($image)


$image=identificador de imagen.

Libera la memoria que ocupo la imagen.


Esta es la primera parte, despues publico el tutorial en si de como crear el script.

domingo, 20 de febrero de 2011

Que es Codeigniter y porque usarlo como framework de desarrollo.

Codeigniter es simplemente un framework para el desarrollo de aplicaciones escritas en php que utiliza el MVC, que permite a los desarrolladores Web mejorar la forma de trabajar y también agregar mayor velocidad a la hora de crear una pagina Web. Codeigniter no es el único framework del mercado, también están zend, cakephp, symphony, entre otros. Pero CI (Codeigniter) se diferencia al resto por lo rápido, lo extensible, lo sencillo de aprender y lo poderoso que puede llegar a ser si lo sabemos usar bien. Codeigniter fue desarrollado por EllisLab y hasta la versión 1.7.3 soportaba php 4, ya para la versión 2.0 solo soporta php 5.







Que es el MVC??

El MVC es el acrónimo de Modelo Vista Controlador, que es un patrón para el desarrollo de software que separa la lógica de control, la interfaz del usuario y los datos del sistema. En este tipo de arquitectura del software existe un sistema central o controlador que controla las entradas y salida del sistema, un o unos modelo que se encargan de buscar los datos e información que sea necesaria y unas interfaz grafica que son lo muestran que es lo que al final va a ver un usuario.

El MVC es muy usado en el desarrollo Web porque a diferencia de la creación de programas locales donde se usa por lo general un mismo lenguaje para desarrollar toda un aplicación en el desarrollo Web se requiere por lo menos usar 2 lenguajes(html y php) para crear una pagina simple, y todo esto en una sola pagina aunado a las consultas en la base de datos que son imprescindibles pues crean hasta paginas de 300 líneas que después para depurar, mejorar o saber donde nos estamos equivocando es un poco difícil. A continuación una explicación un poco más detallada del model, vista y controlador:

  • Modelo: es el que se encarga de la gestión de la base de datos y toda la lógica del negocio, el modelo permite abstraer al resto de la aplicación de como se obtienen o gestionan los datos. Lo cual nos da una ventaja ya que si después se requiere migrar la base de datos o cambiar algo, no va a ser necesario modificar ni la vista ni los controladores, lo cual nos facilita el trabajo. Otra cosa importante de destacar es que el modelo permite la reutilización de código ya que varios controladores pueden usar el mismo modelo sin que eso afecte en nada a los otros controladores y se evita tener que crear un modelo para cada controlador.
  • Controlador: es el centro de control de nuestra aplicación, se encarga de recibir la información del usuario procesarla, validarla, sacar o introducir la información lo que sea necesario con la ayuda de los modelos y renderizar una nueva vista acorde a las necesidad del usuario.
  • Vista: como ya dije anteriormente la vista va a ser la interfaz para nuestro usuario, en nuestro sistema siempre vamos a tener diversidad de vistas que deberán ser cargadas por el control de acuerdo a las necesidades, en desarrollo Web para crear una vista se requiere de html y php, sin contar con que se puede agregar css y javascript para darle mas dinámica a nuestro sitio y mejor apariencia. En la vista va a seguir existiendo código php, pero esta ves pequeños códigos solo para hacer repeticiones o mostrar uno que otro dato importante.

Codeigniter usa este patrón y además agrega librerías, ayudantes y drivers para ayudarnos a simplificar las tareas en el desarrollo de nuestro sistema, con funciones ya predefinidas que nos facilitan el trabajo.

En codeigniter se sigue el siguiente flujo, que después explicare mejor pero para que lo vayan viendo:



En resumen codeigniter, es un útil framework sencillo de aprender, útil para programar, poderoso y nos permite trabajar entre varios programadores al mismo tiempo.

jueves, 10 de febrero de 2011

El español llego a Codeigniter 2.0

Muchos de nosotros hemos usado las librerias y clases que trae el codeigniter y debimos habernos fijados muchas veces como los mensajes de error o cualquier otro mensaje siempre sale en ingles, aqui les traigo actualizado a CI 2.0.0 el lenguaje español listo para usar en nuestros proyectos, aqui les dejo el enlace:

Box.net: CI español(7kb)

Como usarlo?? pues es simple, solo nos vamos a la carpeta /system/language, hay creamos una carpeta que le podemos llamar español y dentro de esa carpeta extraemos los archivos. Despues si queremos usar este idioma tenemos que ir a /application/config/config.php  y modificar donde en la variable language la modificamos de english a español y nos deberia quedar asi:
$config['language']='español';

lunes, 7 de febrero de 2011

Tutorial Paso a paso: como actualizar codeigniter a la version 2.0.0. (Parte II)

Bueno para continuar la guía de actualización de la versión 1.7.3 a la 2.0 pues tenemos que continuar pasando nuestra configuración de la versión 1.7.3 a la 2.0.

  1. Comenzando con application/config/database.php este archivo no a cambiado mucho, sigue siendo el mismo solo se le a agregado: 
    1. autoinit: que es solo para decirle al sistema si automáticamente inicia o no el manejo de base de datos.
    2. stricton: que sirven para forzar las conexiones a la base de datos en  "Modo estricto”, buenas para usar el SQL estricto cuando se esta desarrollando una aplicación.
  2. application/config/autoload.php esta archivo solo se le agrego solo la posibilidad de auto cargar paquetes, el resto de las opciones siguen iguales, claro tenemos que estar pendientes ya que los plugins fueron eliminados a favor de los helpers y si tenemos plugins en nuestros proyectos debemos migrarlos.
  3. application/config/config.php aquí ah habido algunos cambio, empezando porque ahora la opción de configuración base_url ahora viene vacía por defecto y además automáticamente detecta cual es la ruta.
  4. E tratado hasta ahora los archivos más generales, en el resto de los archivos casi no hubo cambios así que no será difícil de reconfigurarlos por su cuenta.
Ahora bien después de configurar de nuevo nuestra aplicación todavía nos resta nada mas pasar los demás archivos que tuviéramos como hojas de estilo, scripts en javascript, imágenes, etc. a su respectiva carpeta y listo, hemos actualizado Codeigniter a la versión 2.0, es algo súper sencillo pero debemos hacerlo con cuidado porque podemos cambiar cosas que después nos podemos arrepentir, por eso siempre hay que hacer un respaldo por si acaso. Una última acotación si en tu proyecto poseías información encriptada con la antigua versión de codeigniter debes desencriptarla primero para después poder encriptarla con la nueva versión.

domingo, 6 de febrero de 2011

jquery 1.5



En esta nueva versión de jquery 1.5 todos los aspectos de el API an sido que an sido agregados o tienen una nueva signatura agregada. A Jquery 1.5 se le a reescrito todo el modulo de AJAX, y se le an agregado un buena cantidad de utilidades al modulo de AJAX.

Llistado de herramientas actualizadas, principlamente fueron actualizadas las que tienen que ver con AJAX:

  • jQuery.ajax()
  • .clone()
  • jQuery.get()
  • jQuery.getJSON()
  • jQuery.getScript()
  • jQuery.post()

Estas son las herramientas nueva que ahora dispone jQuery:

  • deferred.done()
  • deferred.fail()
  • deferred.isRejected()
  • deferred.isResolved()
  • deferred.reject()
  • deferred.rejectWith()
  • deferred.resolve()
  • deferred.resolveWith()
  • deferred.then()
  • jQuery.parseXML()
  • jQuery.sub()
  • jQuery.when()

Debian 6.0 "Squeeze"

Pues a salido debian 6.0, lo posteo porque es una de mis distros favoritas. Debian 6.0 es un sistema operativo libre y se presenta por
primera vez en dos sabores, ya que junto con Debian GNU/Linux, en esta
versión se ha introducido Debian/kFreeBSD como una `vista preliminar de
la tecnología'.


Esta versión incluye una gran cantidad de paquetes de programas
actualizados tal como:

• el entorno de escritorio KDE 4.4.5
• el entorno de escritorio GNOME 2.30
• el entorno de escritorio Xfce 4.6
• el entorno de escritorio LXDE 0.5.0
• X.Org 7.5
• OpenOffice.org 3.2.1
• GIMP 2.6.11
• Iceweasel 3.5.16 (una versión de Mozilla Firefox que no utiliza la
marca registrada)
• Icedove 3.0.11 (una versión de Mozilla Thunderbird que no utiliza
la marca registrada)
• PostgreSQL 8.4.6
• MySQL 5.1.49
• la Colección de compiladores de GNU 4.4.5
• Linux 2.6.32
• Apache 2.2.16
• Samba 3.5.6
• Python 2.6.6, 2.5.5 and 3.1.3
• Perl 5.10.1
• PHP 5.3.3
• Asterisk 1.6.2.9
• Nagios 3.2.3
• el Hipervisor Xen 4.0.1 (con soporte tanto para dom0 como para
domU)
• OpenJDK 6b18
• Tomcat 6.0.18
• más de 29,000 paquetes de programas listos para usarse construidos
a partir de 15.000 paquetes fuente).

Debian 6.0 incluye cerca de 10,000 paquetes nuevos como el navegador
Chromium, la solución de monitorización Icinga, la interfaz de usuario
para administración de paquetes `Software Center', el administrador de
red wicd, las herramientas de contenedor de Linux lxc y el entorno para
clústers Corosync.

Es una excelente eleccion a la hora de elegir una distro. Asi que no lo dejen de descargar. http://www.debian.org

jueves, 3 de febrero de 2011

Tutorial Paso a paso: como actualizar codeigniter a la version 2.0.0. (Parte I)

Ahora voy a explicar los pasos que salen en http://codeigniter.com/user_guide/installation/upgrade_200.html de como actualizar de la versión 1.7.3 a la versión 2.0.0 de codeigniter. Este manual no es un manual de iniciación es un manual para iniciados.

Paso 1: Actualizar tus carpetas de Codeigniter.

En la versión 2.0.0 an habido muchos cambios comenzando porque la carpeta aplication a sido movida fuera de la carpeta system y junto a ella se an ido otras carpetas como son core, cache, logs y third_party. Aquí les dejo una pequeña imagen para que vean:


Ahora para organizarlo todo tenemos dos opciones, pasar todo al nuevo orden de archivos solo guardando lo importante para nuestro proyecto o dejando todo con el sistema actual de carpetas e ir pasando poco a poco los archivos nuevos de la versión 2.0 a la carpeta system. Yo como me gusta más el nuevo estilo la carpeta application fuera de la carpeta system será el que voy a usar y explicar, además así tenemos que reconfigurar el proyecto y así veremos mejor las modificaciones que se le an echo.

  1. Hacemos un respaldo de nuestros archivos.(Por si a las moscas no queremos problemas)
  2. Primero eliminamos el controlador welcome que trae el codeigniter por defecto.
  3. 3. Copiamos todos los archivos de las carpetas básicas models, controllers y views.
  4. 4. Si tenemos algún archivo en helpers, hooks, libraries, language o error también lo pasamos a nuestro nuevo archivo.
  5. Ahora al abrir la pagina si borramos el controlador welcome nos deberia salir un error 404 not found, tenemos que configurar cual es nuestro archivio de inicio por defecto en el archivo de configuracion application/config/routes.php al abrirlo por primera ves veremos que tiene como controlador por defecto welcome este lo cambiaremos por nuestro controlador por defecto en mi caso 'inicio',  tambien nos damos ceunta que a desaparecido el parametro de configuracion 'scaffolding_trigger' ya que en esta version de codeigniter se a eliminado el scaffolding, y tambien nos damos cuenta que se a agregado '404_override' este parametro sirve para definir una ruta de un controlador en especifico cuando no se consiga un controlador en especifico.
  6. Despues de esto si tratamos de cargar nuestra pagina nos deberia dar un error parecido a este:
    Fatal error: Class 'Controller' not found in C:\www\codeigniter\CodeIgniter_2.0.0\application\controllers\inicio.php on line 2
    Este error se debe a que Codeigniter a agregado el prefijo CI_ a todas las clases, lo cual significa que cuando colocabamos:
    class Inicio extends Controller { 
    Ahora debemos poner:
    class Inicio extends CI_Controller { 
    Y asi con los modelos tambien. Esta tarea tranquilamente la podemos realizar manualemte o  cualquier editor que pueda reemplazar un contenido por otro en varios archivos, por ejemplo notepad++.
  7. Tambien debemos recordar que si estabamos usando el estilo de programación de php4 para la creacion de clases debemos pasarlo ahora a php5, que quiero decir con esto que cuando en la version anterior usabamos esto como constructor:
    class MY_Input extends CI_Input {
    
        function MY_Input()
        {
            parent::CI_Input();
        }
    } 
    Ahora hay que hacerlo asi:
    class MY_Input extends CI_Input {
    
        function __construct()
        {
            parent::__construct();
        }
    }
    
Hasta aquí esta parte de el manual para actualizar codeigniter a la versión 2.0.0. Espero pronto terminar de hacerlo ya que todavía faltan muchas cosas, hasta ahora solo acomodamos las carpetas. Pero falta volver a configurar nuestro proyecto y acomodar otras cosas.

miércoles, 2 de febrero de 2011

Codeigniter 2.0 - Mi primer anuncio en el blog.

Comienzo mi blog hablando sobre este estupendo framework.



Codeigniter es un framework de php desarrollado por EllisLab, que tiene su fama por lo útil y veloz que es. Este framework fue lanzado el 28 de febrero de 2006, se basa en el modelo-vista-controlador  y a estado entre los frameworks más famosos que existen para php. En el año 2008 Rasmus Lerdorf el creador de php expreso que ese era el framework que el usaba y este fue el porque: "because it is faster, lighter and the least like a framework"

Hace muy poco el 28 de enero lanzo su tan esperada versión 2.0 después de muchas divagaciones y esperas al fin salio a la luz publica, aquí les presento un pequeño resumen sobre las mejoras que incluye:
  • El Scaffolding que llevaban tiempo en estado de depreciacion ya lo an removido.
  • El soporte para la version 4 de php a sido completamente removido.
  • Los plugin an sido removidos en favor de los helpers.
  • Proteccion contra ataques CSRF en el form helper.
  • An acomodado algunos bugs presentes en el sistema.
  • Movieron la carpeta de la aplicacion fuera de la carpeta de sistema, y ademas le agregaron dentrode la carpeta de aplicacion dos carpetas que estaban dentro de la carpeta system, las cuales son: cache y logs
  • y muchos otros cambios mas, que despues tratare de irlos poniendo todos.