Ha salido CodeIgniter 2.0.0 !!!
Bueno después de mucho tiempo y muchos interrogantes por la situación por la que pasa CodeIgniter, ayer anunciaron de forma oficial la versión 2.0! La verdad que hay muchisimos cambios que os animo a que los descubráis en la documentación, pero aquí van algunos:
- Al fin ya no soportan PHP4, ahora PHP5 es un requisito.
- Mejora de seguridad en formularios
- Ahora han creado "Drivers", que básicamente engloba base de datos, javascript, etc..
- Plugins han desaparecido en detrimento de los Helpers
- Han añadido una gran utilidad para poder crear fácilmente tu pagina de error 404
- Han arreglado muchísimos bugs.
Bueno os animo a todos los lectores que os actualicéis a la ultima versión. Además nos han dejado unas pistas de lo que nos deparará sus futuras actualizaciones.
- Harán la documentación mas del estilo PHP, para que participen los usuarios.
- Quieren crear un sistema de Authentication (login y todo eso) genérico ya que es algo muy basico que todas las webs necesitan. (os recuerdo que aquí hicimos un tutorial para crear uno).
- Mejoras en el active-record para poder trabajar mejor con los "models".
Fuente: codeigniter.com
XtraUpload, un “Megaupload” en CodeIgniter
Vía Webmastelibre me entero de que existe un software gratuito creado en CodeIgniter que nos permite fácilmente crear nuestro propio sistema de "uploads" de archivos, que ahora están de moda los típicos "Rapidshare", "MegaUpload", etc..
Si mas no es interesante echarle un vistazo a estas herramientas, ya que así podemos ver como están hechas las aplicaciones reales puesto que aquí normalmente trabajamos sobre tutoriales de ejemplos simples de aplicaciones.
XtraUpload, que asi se llama la aplición está escrito en PHP usando, como ya hemos dicho, el Framework de CodeIgniter. Tiene todas las caracteristicas que te esperarías para este tipo de paginas:
- Control de usuarios, tanto gratuitos como "Premium".
- Usuarios Premium tienen opciones interesantes adicionales.
- Puedes especificar tipos de fichero, tamaños y en general configurar la aplicación a tu gusto.
- Permite pagos con PayPal y otros.
Lo interesante tambien de estas aplicaciones es indagar un poco en el codigo y ver como hacen determinadas cosas, como utilizan ciertas librerias, tanto de CodeIgniter como creadas por ellos mismos. Yo os recomiendo que echeis un vistazo de:
- Como está hecho todo el tema de verificación de usuarios (login, etc..)
- Todo lo referente a las descargas de archivos, control deMB bajados, y otras caracteristicas
- Como hacen para conectar con las pasarelas de pagos de PayPal, 2CheckOut, MoneyBrokers, StormPay y eGold.
- Upload, como lo gestionan, como lo controlan, etc.
- Como funcionan con los templates y themes.
Yo la verdad que le he pegado un vistazo y he encontrado muchas cosas interesantes, y esta es otra manera de aprender.
EDITADO: el proyecto ha sido descontinuado, pero colgaron el código en google code: enlace.
Sistema de Usuarios (Tercera parte): Usando la clase
Siguiendo la clase anterior (dónde construimos la clase Centinela), hoy toca acabar el sistema, creando la interfaz web para que los usuarios puedan registrarse, loguearse, desloguearse y acceder (o no) a secciones privadas.
Antes de empezar, deberíamos tocar algo de la configuración: ya que la clase centinela la cargaremos en la gran mayoría de veces, le diremos que nos la cargue siempre para mayor comodidad. Por lo que iremos a config/autoload.php y pondremos algo así como:
/*
| -------------------------------------------------------------------
| Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your system/application/libraries folder.
|
| Prototype:
|
| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/
$autoload['libraries'] = array('database', 'session', 'centinela');
Una vez tenemos hecho esto, procederemos a crear las diferentes partes de la web dónde usaremos la clase.
Sistema de Usuarios (Segunda parte): Clase ‘Centinela’ II
Ahora procederemos a la parte mas importante de este tutorial dónde codificaremos las funciones de login, logout y check (comprobar), que explique a grandes rasgos como funcionarían en el articulo anterior.
Login
La función de login recibirá dos parámetros: usuario y contraseña que normalmente serán los que el usuario nos introduzca mediante un formulario. Pero también se usará para validarse automáticamente mediante las variables SESSION que tendremos almacenadas, asi siempre comprobaremos que las credenciales de los usuarios son siempre validas.
Entonces procederemos a comprobar que el usuario y la contraseña coinciden con la base de datos, si todo esta correcto crearemos las variables sesión (o las actualizaremos).
Aquí esta el código:
Sistema de Usuarios (Segunda parte): Clase ‘Centinela’ I
En la primera publicación de este taller planificamos de forma muy genérica como queríamos nuestro sistema de usuarios. Hoy vamos a concretar un poco más y empezaremos a definir como sera nuestra clase 'Centinela' que se encargará de controlar nuestro sistema.
Nuestra 'clase', será una librería por lo tanto nos miraremos en la fantástica guía de CodeIgniter cómo funcionan las librerías. En definitiva lo que nos interesa es que alojaremos nuestro "Centinela.php" en application/libraries. Nuestro archivo empezará con una mayúscula. Al principio de nuestro php pondremos para que no puedan acceder de manera no controlada a nuestra clase:
if(!defined('BASEPATH'))
exit('No direct script access allowed');
Nuestra clase necesitará de unas variables para que podamos almacenar los datos que usaremos:
- id: será la id de nuestro usuario un valor numerico y único.
- nick: será el nombre de nuestro usuario.
- clave: será la contraseña de nuestro usuario (encriptada)
- nivel: se refiere al nivel del usuario (invitado, operador, administrador, etc..). Como mayor sea el valor más alto será el cargo.
- auth: será una variable booleana. Si vale "TRUE", es que el usuario estará bien autentificado.
