... Contenido - CodeIgniter :Albringas.com : Programación y Desarrollo
Programación y desarrollo
30/9/2012 6:37:30 (1083 Lecturas)
Las herramientas que uso en desarrollos web

Para crear un desarrollo web, se requieren de varias herramientas, librerías de clases y funciones que permitan crear el desarrollo requerido.

He estado trabajando desde el año pasado con Codeigniter como framework de PHP, y me ha funcionado muy bien, y he ido adicionando otras herramientas que permitan conformar un desarrollo web adecuado.

Estas son las herramientas que utilizo en un desarrollo web:

Lenguaje: PHP
Base de datos: Firebird y MySQL
Framework PHP: Codeigniter
Framework Javascript: jQuery
Biblioteca de interfaz: jQuery UI
Generador de gráficas: Flot
Otras herramientas: Thickbox, DatePicker de Kelvin Luck

El editor de que estoy utilizando y que me gusta mucho por su rapidez y practicidad es Sublime Text, muy recomendable. También me ha gustado Aptana, aunque requiere de muchos recursos para funcionar ágilmente.



0 ID del Artículo : 18
19/4/2012 20:10:27 (6433 Lecturas)
Testing Codeigniter with Firebird

I’ve been using Codeigniter as my development platform and framework of choice since last year. Being a ten year PHP developer, Codeigner was a refreshing way of coding web apps with PHP.

The first ones developments I did with Codeigniter were using MySQL, a very used database. But since I’ve also been using Firebird SQL Database from ten or more years ago, I decided to give a try to the Codeigniter-Firebird duo.

So I downloaded the Firebird drivers for Codeigniter, written by Carlos Garcia, and installed in my Codeigniter application setup.

Everything went ok, in the first attempts to make a connection and display a table, the data was displayed as expected. But I noted some little differences in using Firebird, here’s the list:

a) You must use the array indexes of the result array of a query in capital letters. For instance, in this code:


$arr =  $this->db->query("select  id, field from table");
$data $arr->result_array();

When you refer to the content of the data array, you should do that in this way:
echo $data[0]['ID'];


By the way, in the query statement, you can use lower or uppercase letters.

NOTE: Still have not used the ActiveRecord Get methods that return objects for each row of the table, I’ll report them as soon as I use them.

b) When a query fetches a lot of records (sorry, I didn’t test the exact number), it throws an http ‘Internal server 500’ message. I also didn’t test if it’s my server setup. As I know I’ll be using pagination, the error disappeared when I used a 20 record page pagination in the display of the table.

c) I also had an error when making a SELECT * FROM TABLE statement, and if that table has a very large VARCHAR (or CHAR) fields. This was fixed when I specified only a few fields of the table.

d) Another thing I noted is that the num_rows method of a query always returns 1. Don’t know if it’s a bug or product of a special condition in my program. This was resolved by using the sizeof function of PHP, applying it to the result array. This way I know how many rows returned the query.

These are the things I have observed so far. I did my testing today, and plan to continue the application. I’ll report these issues to Carlos, and as he lives in the same city than I, maybe I’ll thank him (in the name of all Codeigniter/Firebird developers) his time and effort in development this piece of software with a pair of beers (maybe more).

Apart from these little issues, the Firebird driver for Codeigniter is working very well and it's very nice to make web applications with both development softwares.


You can download the Firebird Driver for Codeigniter in this URL:
https://github.com/cgarciagl/Firebird-for-Codeigniter

0 ID del Artículo : 17
9/4/2012 20:23:16 (2217 Lecturas)
Configurando Codeigniter para desarrollo en 10 minutos en Mac OSX

A continuación mostraré una manera rápida de tener un entorno de desarrollo Codeigniter, ya se para crear desarrollos o para aprender, todo esto en 10 minutos (dependiendo obviamente de la velocidad de descarga que tengas).

1.- Descarga MAMP de la dirección http://www.mamp.info
2.- Descarga el editor Aptana Studio desde la dirección: http://aptana.com
3.- Descarga el administrador de MySQL Sequel Pro desde: http://www.sequelpro.com
4.- Descargar la versión más reciente de Codeigniter: http://codeigniter.com
5.- Instalar MAMP, Aptana Studio y Sequel Pro.
6.- Crear una carpeta de desarrollo (puede ser en Documentos (documents) en nuestra Mac)
7.- Iniciar MAMP, escribir la contraseña de administrador para que inicien los servidores (MySQL y Apache).
8.- Detener los servidores, y cambiar la configuración (botón Preferencias…) poner los puertos 80 en Apache y 3306 en MySQL. En la pestaña Apache, seleccionar la carpeta creada en el punto 6. Dar click en OK.
Haga Clic para ver la Imagen original en una ventana nueva
9.- Reiniciar los servidores (punto 7).
10.- Desempaquetar Codeigniter en la carpeta de desarrollo.
11.- Abrir el archivo database.php que se encuentra en la carpeta Applications/Config de Codeigniter
12.- Modificar las líneas de configuración:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root';
$db['default']['database'] = 'ejemplo';
$db['default']['dbdriver'] = 'mysql';


Donde la línea que indica la base de datos, debe contener el nombre de una base de datos a crear.
13.- Crear la base de datos “ejemplo”, usando Sequel Pro, conectándose al servidor con estas configuraciones:
Haga Clic para ver la Imagen original en una ventana nueva

14.- Una vez conectado, y utilizando el botón Choose Database, seleccionar la opción Add Database.
Haga Clic para ver la Imagen original en una ventana nueva
15.- Escribir el nombre de la base de datos (en este caso, ejemplo).
16.- Listo, ya tenemos un entorno para una aplicación Codeigniter. Lo siguiente es crear modelos, controladores y vistas.

0 ID del Artículo : 16
26/2/2012 15:40:00 (1087 Lecturas)
Mis primeras experiencias (con CodeIgniter)

Estoy terminando mi primer trabajo con CodeIgniter y han sido meses de trabajo en los que he conocido este Framework para PHP.

Como en este mundo del desarrollo y la programación hay tantas opciones, es claro que cada punto de vista es muy subjetivo y refleja mi opinión basada en mi área exclusiva de trabajo y mi experiencia.
Empezaré diciendo que CodeIgniter es un framework muy ligero, se instala muy rápido e igualmente se configura muy rápidamente. Este trabajo que he desarrollado tenía por requisito trabajar con MySQL, así que me ajusté a esa condición y configuré el framework para trabajar con MySQL. Haciendo un paréntesis, tengo en mente probar el driver para Firebird que desarrolló Carlos García, espero realizar esto en los próximos días.

Como primer punto, hay que destacar que utiliza el patrón Modelo Vista Controlador, y lo implementa de una manera muy sencilla:

  • Los modelos controlan los accesos a los datos.

  • Los controladores aplican la lógica del programa, haciendo uso de los modelos, y

  • Las vistas, que igualmente se referencian desde el controlador, contienen el despliegue de los datos.



Contrario a otros frameworks, es muy flexible, pudiendo utilizar Controladores y Vistas sin Modelos e incluso solamente Controladores, aunque lo más deseable es aprovechar todos estos recursos. Entonces vemos que el elemento central es el Controlador, que es el que recibe los datos y despliega las vistas cada vez que llamamos a una URL de nuestro sitio.
Cada controlador se refleja como un “directorio” ó “carpeta” tradicional de una URL, y a su vez cada función de un controlador es el siguiente nivel de “carpeta” o “archivo”.
Hablando estrictamente en POO, un controlador es una clase (derivada de la clase CI_Controller, y las funciones son métodos de la clase.

Hasta aquí, este es el punto central de CodeIgniter: Modelos, Controladores y Vistas.
Otros puntos a destacar y que complementan al núcleo de CI son los Helpers, Clases, Bibliotecas de clases, y enrutamientos, lo cual comentaré en artículos posteriores.

Concluyendo este breve e introductorio artículo, y teniendo el antecedente de haber utilizado CakePHP, me parece que CodeIgniter es:


  • Muy sencillo de usar, para aquellos que dominan conceptos de POO y Frameworks.

  • Muchas cosas no son tan automáticas como en CakePHP, pero a su vez esto le da una sencillez muy deseable.

  • Aunque no tiene tanta “Automagic” como CakePHP, cuenta con un nivel de automatización de tareas que reduce de manera muy grande los tiempos de desarrollo –comparado con PHP sin usar Framework-, y una organización excelente, al tener la aplicación separada en capas.


En fin, hay muchas Frameworks para PHP, para muestra solamente hay que visitar http://www.phpframeworks.com/ por lo que evaluar una a una es un trabajo arduo y que algunos no podríamos realizar. Sin embargo CakePHP tiene todo lo que un programador desea para realizar aplicaciones PHP de manera rápida y segura, y con una instalación y configuración igualmente ágil.

0 ID del Artículo : 13