Hoy comenzaré el desarrollo de una aplicación muy rudimentaria para manejar un Blog, con el framework de PHP Kohana.
Si tienes dudas sobre la instalación del framework anteriormente escribí un pequeño tutorial que repasa los pasos básicos para tener el framework operativo, de manera que te recomiendo leerlo desde aquí.
Todo está desarrollado sobre GNU/Linux, de manera que si tienes otro sistema operativo y tienes dudas sobre algún paso por favor házmelo saber en los coementarios y trataré de resolver las dudas.
Creando la base de datos
Antes de siquiera comenzar con el desarrollo de nuestra aplicación debemos definir que motor de base datos usaremos, en este caso por ser uno de los más extendidos usaremos el fork de MySQL, MaríaDB
Para conectarnos al motor de bases de datos hacemos los siguiente:
bash-4.2$ mysql -u root -p
Con esto ingresaremos al interprete de comandos de MariaDB, acá asumo que el usario de la base de datos es el root, si es otro debes reemplazar el nombre de usuario y debes tener claro que ese usuario deberá tener los permisos para la creación de bases de datos.
Una vez que ingresamos al interprete de comandos creamos la base de datos que se llamará myblog con el siguiente comando:
MariaDB [(none)]> create database myblog;
Con esto ya tenemos nuestra base de datos creada si queremos ver que efectivamente sea así lo hacemos de la siguiente forma:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| myblog |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
Para crear las tablas seleccionamos nuestra base de datos myblog:
MariaDB [(none)]> use myblog;
Database changed
Comenzaremos el desarrollo con una sola tabla en la que guardaremos los posts que se vayan creando en la aplicación, para lo cual crearemos nuestra tabla posts, que tendrá la siguiente estructura:
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | varchar(100) | NO | | NULL | |
| summary | text | NO | | NULL | |
| content | text | NO | | NULL | |
+---------+--------------+------+-----+---------+----------------+
Para crear nuestra tabla posts el código sería el siguiente:
CREATE TABLE `posts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`summary` text NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
Finalmente insertaremos algunos datos de prueba dentro de la tabla post de manera que en la segunda parte donde crearemos el modulo de visualización de los post tengamos algo que mostrar en nuestra aplicación.
La inserción de datos la hacemos mediante la siguiente consulta:
INSERT INTO `posts` VALUES (
1,
'Mi primer Pimer Post',
'Aca va el resumen del post',
'Este sería el texto del primer post, rellenamos con algo mas de texto para verlo en pantalla')
,
(2,
'Post 2',
'El Segundo Post',
'Llegamos al segundo post para probar que esto si funciona ahora veremos!!');
Con esto ya tenemos la base de datos para comenzar el desarrollo de nuestra aplicación con Kohana, se que esta entrada nos es particularmente entretenida y que aún ni siquiera comenzamos
con el desarrollo con PHP y Kohana, pero es necesaria para entender el concepto de base de datos y saber donde se almacenaran la información de nuestra aplicación.
Luego de todo esto Kohana debe «saber», que motor de bases de datos usamos, el nombre de la misma, así como también el usuario y password que usamos para conectarnos, para esto creamos un archivo llamado application/config/database.php el cual debe contener lo sigueinte:
<?php defined('SYSPATH') or
die('No se permiten los accesos direcots al script');
return array
(
'default'=> array
(
'type' => 'MySQL',
'connection' => array
(
'hostname' => 'localhost',
'database' => 'myblog',
'username' => 'usuario',
'password' => 'password',
'persistent'=> FALSE,
),
'table_prfix' => '',
'charset' => 'utf8',
'caching' => FALSE,
'profiling' => TRUE,
)
);
Finalmente todo el código sql para crear la tabla posts e instertar los datos de prueba lo puedes obtener aquí