This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/includes/kohana/modules/userguide/guide/es-es/tutorials.helloworld.md
2011-05-03 09:49:01 +10:00

4.7 KiB

Hola, Mundo

Muchos frameworks proporcionan algún ejemplo de tipo hola mundo, de forma que ¡sería muy grosero por nuestra parte romper esa tradición!

Empezaremos creando un hola mundo muy básico, y luego lo ampliaremos para seguir con los principios del patrón MVC.

Lo esencial

En primer lugar, tenemos que crear un controlador que kohana usará para manejar la petición

Crea el archivo application/classes/controller/hello.php en tu directorio application y copia dentro el siguiente código:

<?php defined('SYSPATH') OR die('No Direct Script Access');

Class Controller_Hello extends Controller
{
	function action_index()
	{
		echo 'hello, world!';
	}
}

Veamos lo que ocurre:

<?php defined('SYSPATH') OR die('No Direct Script Access');
Deberías reconocer la primera etiqueta como la etiqueta de apertura de php (en caso contrario probablemente deberías aprender php). Lo que sigue es una pequeña comprobación que se asegura que este archivo está siendo incluído por kohana. Esto impide que se acceda directamente a este archivo desde la url.
Class Controller_Hello extends Controller
Esta línea declara nuestro controlador, cada clase de tipo controlador tiene que llevar el prefijo Controller_ y una barra baja delimita la ruta a la carpeta donde se encuentra el controlador (mirar Convenciones y Estilos para más información). Cada controlador debe también extender la clase básica Controller la cual proporciona una estrcutura estándar para los controladores.
function action_index()
Define la acción "index" de nuestro controlador. Kohana intentará llamar a esta acción si el usuario no ha especificado una. (mirar Rutas, URLs y Enlaces)
echo 'hello, world!';
¡Y esta es la línea que muestra la famosa frase!

Ahora si abres el navegador y vas a http://your/kohana/website/index.php/hello podrás ver algo como esto:

Hello, World!

Eso ha sido bueno, pero podemos hacerlo mejor

Lo que hicimos en la sección anterior fue un buen ejemplo de lo fácil que es crear una aplicación extremadamente básica en kohana (de hecho, ¡es tan básica que no se debe hacer de nuevo!)

Si alguna vez has oído hablar del patrón MVC probablemente te habrás dado cuenta que imprimir contenido al navegador con echo en un controlador va totalmente en contra de los principios de este patrón de diseño.

La forma correcta de hacerlo con un framework MVC es usar vistas para manejar la presentación de tu aplicación, y dejar hacer al controlador lo que mejor hace - ¡Controlar el flujo de la petición!

Cambiamos ligeramente el controlador original -

<?php defined('SYSPATH') OR die('No Direct Script Access');

Class Controller_Hello extends Controller_Template
{
	public $template = 'site';

	function action_index()
	{
		$this->template->message = 'hello, world!';
	}
}
extends Controller_Template
Ahora estamos extendiendo el controlador de plantillas, el cual es más conveniente para usar vistas en nuestro controlador.
public $template = 'site';
El controlador de plantillas necesita conocer que plantilla queremos usar. Automáticamente cargará la vista definida en esta variable y le asignará el objeto de tipo vista.
$this->template->message = 'hello, world!';
$this->template es una referencia al objeto tipo vista de nuestra plantilla del sitio. Lo que estamos haciendo es asignar a una variable de la vista llamada "message" el valor de "hello, world!"

Ahora intentamos ejecutar nuestro código...

{{userguide/examples/hello_world_error}}

Por alguna razón kohana lanza una excepción y no muestra nuestro sorprendente mensaje.

Si miramos dentro del mensaje de error podemos ver que la librería View no es capaz de encontrar la plantilla de nuestro sitio, probablemente porque no ha sido creada todavía - ¡ouch!

Vamos y creamos el archivo de vista application/views/site.php para nuestro mensaje -

<html>
	<head>
		<title>We've got a message for you!</title>
		<style type="text/css">
			body {font-family: Georgia;}
			h1 {font-style: italic;}

		</style>
	</head>
	<body>
		<h1><?php echo $message; ?></h1>
		<p>We just wanted to say it! :)</p>
	</body>
</html>

Si luego refrescamos la página podremos ver el fruto de nuestra labor -

hello, world! We just wanted to say it!

En resumen

En este tutorial has aprendido cómo crear un controlador y usar una vista para separar la lógica de la presentación.

Esto es obviamente una introducción muy básica al trabajo con kohana y no entra de lleno en el potencial que tienes cuando desarrollas aplicaciones con él.