Utilizando el Scaffolding

Saludos!

Quizá muchos ya han logrado manejar ésta herramienta que nos ofrece CodeIgniter llamada Scaffolding, pero tambien hay algunos que tienen ciertas dificultades o aun no entienden su concepto.

Pues bien, la herramienta Scaffolding provee una forma rápida y muy sencilla de agregar, editar o borrar información de su base de datos durante el desarrollo de su proyecto.

La configuración es muy sencilla, y se explicará a continuación:

Inicialmente, detallo que he creado una carpeta llamada “ comunidad “, la cual contiene los archivos del CodeIgniter.

Bien, para poder usar el Scaffolding, necesitamos tener una base de datos y al menos una tabla ya creada. En mi caso, mi base de datos es ” comunidad ” y mi tabla es ” cursos “.

Ahora sí, a configurar el CodeIgniter. Primero no dirigimos a: ” system/application/config/config.php ” y definimos nuestra base_url, en mi caso:

$config['base_url'] = "http://localhost/comunidad/";

Luego nos dirigimos a: ” system/application/config/routes.php ” y definimos nuestro scaffolding_trigger, el cual vendría a ser nuestra palabra secreta y cuando se encuentre en la URL, lanzará la interface de scaffolding; en mi caso será: ” admin

$route['scaffolding_trigger'] = "admin";

Antes de continuar, hago recordar que para lograr que ésto funcione, se debe haber ya configurado el archivo ” system/application/config/database.php ” con el hostname, username, password y database ya definidos.

Por último, nos queda usar un controller para cargar el scaffolding. Podemos usar el que nos trae por defecto el CodeIgniter ” welcome ” o creamos uno propio, por ejemplo:

class Home extends Controller{
		function __construct(){
			parent::Controller();
			$this->load->scaffolding('cursos');
		}

		function index(){
			//Lo que aparecera en el index
		}
	}

Expliquemos brevemente el codigo del controlador ” home “. Creo la clase “ Home ” y en el constructor ( en éste caso uso la sintaxis “__construct” pues estoy trabajando con PHP5. En éste contructor, invoco a ” load->scaffolding() ” y le envio el nombre de la tabla que deseo cargar, en mi caso: ” cursos “.  Y listo, ahora ingreso a http://localhost/comunidad/index.php/home/admin y me muestra lo siguiente:

scaffolding

Y ahora pueden agregar, editar o borrar registros de esa tabla. Si mas adelante desean usar otra tabla, solo necesita cambiar el nombre de la tabla al momento de invocar el “ load->scaffolding() ” en su controlador.

NOTA: Scaffolding sólo trabajará con tablas que contengan un primary key, ya que esta información es necesaria pare realizar varias funciones de base de datos.

Espero les haya ayudado este post, y comenten si tienen alguna duda o algo, estamos para ayudarnos.

Gracias!

Advertisement

6 comentarios hasta ahora

  1. Alberto on

    grax, me ayudo mucho la info

  2. moramorao on

    Alguien sabe si esxiste una modificación que incluya busquedas y filtros?

  3. Cristian on

    A mí también me fue de mucha ayuda gracias !!

  4. [...] Utilizando el Scaffolding [...]

  5. Muser on

    Sólo quería comentar que la librería Scaffolding ya no se mantiene y el equipo de CI no recomienda su uso en producción.

    Ahora mismo hay alternativas mejores como por ejemplo:

    http://iscaffold.skyweb.hu/

  6. manu on

    Utilice el scaffolding con mysql y funciono bien pero a la hora de trabajarlo con oracle me da errores uno de ellos a la hora de insertar datos es:

    A PHP Error was encountered
    Severity: Notice

    Message: Undefined property: stdClass::$primary_key

    Filename: views/add.php

    Line Number: 11

    Supongo que este eror lo que quiere decir es que no encuentra la llave primaria pero la tabla ya tiene dicha llave

    Si alguien me podria ayudar le agradeceria mucho, lo necesito para un proyecto de la universidad gracias…


Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.