Edición de «Hola Mundo KumbiaPHP Framework»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Este ejemplo tiene como objetivo entender la creación de una primera aplicación usando [http://www.kumbiaphp.com KumbiaPHP], que nos servirá para entender la arquitectura MVC y algunas características interesantes. | Este ejemplo tiene como objetivo entender la creación de una primera aplicación usando [http://www.kumbiaphp.com KumbiaPHP], que nos servirá para entender la arquitectura MVC y algunas características interesantes. | ||
= Creando una nueva aplicación = | = Creando una nueva aplicación = | ||
− | Lo primero que debemos hacer es [ | + | Lo primero que debemos hacer es [http://sourceforge.net/projects/kumbia/files/Kumbia/KumbiaPHP%201.0/kumbiaphp_1.0b1.zip/download descargar la Versión 1.0] de KumbiaPHP. Una vez obtenida la copia del Framework la descomprimimos en el directorio web público y renombramos la carpeta con el nombre de nuestro proyecto. Para efecto del ejemplo, llamaremos a nuestro proyecto '''kumbiaphp''' quedando la [[KumbiaPHP_Framework_Versión_1.0_Spirit#Nueva_Estructura_de_Directorios|estructura de directorios]] de la siguiente forma: |
kumbiaphp/ | kumbiaphp/ | ||
− | + | |-- app | |
− | + | |-- core | |
− | + | |-- index.php | |
− | |||
− | |||
Antes de continuar, vamos a verificar que todo esté trabajando bien en nuestras configuraciones a nivel de servidor web. | Antes de continuar, vamos a verificar que todo esté trabajando bien en nuestras configuraciones a nivel de servidor web. | ||
Línea 22: | Línea 14: | ||
Para esto, abrimos nuestro navegador web y vamos a [http://localhost/kumbiaphp/ http://localhost/kumbiaphp/]. Si todo está funcionando bien, debería mostrarnos la [http://www.kumbiaphp.com/blog/2009/05/31/spirit_estrena_nueva_bienvenida/ pantalla de Bienvenida de KumbiaPHP]: | Para esto, abrimos nuestro navegador web y vamos a [http://localhost/kumbiaphp/ http://localhost/kumbiaphp/]. Si todo está funcionando bien, debería mostrarnos la [http://www.kumbiaphp.com/blog/2009/05/31/spirit_estrena_nueva_bienvenida/ pantalla de Bienvenida de KumbiaPHP]: | ||
− | [[Archivo:Bienvenida_kumbiaphp_framework_1.0.png|800px| | + | [[Archivo:Bienvenida_kumbiaphp_framework_1.0.png|800px|link=http://www.mykoncept.com/es/|center|Pantala de Bienvenida de KumbiaPHP Framework]] |
− | = Hola, | + | = Hola, KumbiaPHP! = |
− | Ahora escribiremos el famoso " | + | Ahora escribiremos el famoso "Hola, Mundo!" pero con un pequeño cambio: Diremos "Hola, KumbiaPHP!". Pensando en esto, recordemos el modelo MVC: Según esto, KumbiaPHP debería aceptar una petición, que buscaría en controlador y, en éste, una acción que atendería la petición. Luego, KumbiaPHP utilizará esta información de controlador y acción para buscar la vista asociada a la petición. |
− | Para escribir el código de nuestro "Hola, | + | Para escribir el código de nuestro "Hola, KumbiaPHP!" no necesitamos sino un controlador y una vista. No necesitamos modelos, ya que no estamos trabajando con información de una base de datos. |
Nos ubicamos en el directorio <code>app/controllers/</code>. Aquí estarán nuestros controladores (Para más detalles, lee la documentación sobre el [[KumbiaPHP_Framework_Versión_1.0_Spirit#Explicando_dir_app |directorio app]]). | Nos ubicamos en el directorio <code>app/controllers/</code>. Aquí estarán nuestros controladores (Para más detalles, lee la documentación sobre el [[KumbiaPHP_Framework_Versión_1.0_Spirit#Explicando_dir_app |directorio app]]). | ||
Línea 39: | Línea 31: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | class SaludoController extends | + | class SaludoController extends ApplicationController { |
− | |||
public function hola() | public function hola() | ||
{ | { | ||
− | //Ver método | + | //Ver método render[1] |
− | + | $this->render(NULL); | |
} | } | ||
} | } | ||
</source> | </source> | ||
− | Como vemos, es una clase con un método <code>hola()</code>. Nótese que también esta el sufijo <code>Controller</code> al final de la declaración de la clase: ésto la identifica como una clase controladora, y ésta hereda (<code>extends</code>) de la superclase <code> | + | Como vemos, es una clase con un método <code>hola()</code>. Nótese que también esta el sufijo <code>Controller</code> al final de la declaración de la clase: ésto la identifica como una clase controladora, y ésta hereda (<code>extends</code>) de la superclase <code>ApplicationController</code>, con lo que adquiere las propiedades de una clase controladora. |
− | [1] [[ | + | [1] [[KumbiaPHP_Framework_Versión_1.0_Spirit#Utilizando_el_m.C3.A9todo_render.28.24view.2C_.5B.24template.5D.29 | Método render]] |
− | Para | + | Para ejecuar la acción <code>hola</code> de nuestro controlador <code>saludo</code>, vamos a [http://localhost/kumbiaphp/saludo/hola/ http://localhost/kumbiaphp/saludo/hola/]. Deberíamos ver ésto: |
[[Archivo:Saludo_controller_action_hola.png|1000px|thumb|center|Renderizando un Controller sin View]] | [[Archivo:Saludo_controller_action_hola.png|1000px|thumb|center|Renderizando un Controller sin View]] | ||
Línea 64: | Línea 55: | ||
[[Archivo:Url-instalacion-local.png|center]] | [[Archivo:Url-instalacion-local.png|center]] | ||
− | En producción, no queremos mostrar el nombre del | + | En producción, no queremos mostrar el nombre del módulo. Para eso, simplemente hacemos que nuestro directorio <code>app/</code> sea el directorio público del servidor: |
[[Archivo:URL-sin-modulo.png|center]] | [[Archivo:URL-sin-modulo.png|center]] | ||
Línea 80: | Línea 71: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | class SaludoController extends | + | class SaludoController extends ApplicationController { |
public function hola() | public function hola() | ||
{ | { | ||
− | //quitamos el | + | //quitamos el render |
} | } | ||
} | } | ||
Línea 94: | Línea 85: | ||
<source lang="php"> | <source lang="php"> | ||
− | <h1>Hola, | + | <h1>Hola, KumbiaPHP!</h1> |
</source> | </source> | ||
Línea 103: | Línea 94: | ||
'''KumbiaPHP''' carga la vista con el mismo nombre que la acción en el directorio con el nombre del controlador seleccionado. | '''KumbiaPHP''' carga la vista con el mismo nombre que la acción en el directorio con el nombre del controlador seleccionado. | ||
− | Las vistas permiten dar formato a la salida al usuario usando PHP | + | Las vistas permiten dar formato a la salida al usuario usando PHP embebido en HTML; por esto las vistas poseen extensión <code>.phtml</code>, a diferencia de los controladores, que poseen PHP puro, y por esto su extensión <code>.php</code>. |
=Agregando más Contenido= | =Agregando más Contenido= | ||
Línea 113: | Línea 104: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | class SaludoController extends | + | class SaludoController extends ApplicationController { |
− | |||
public function hola() { | public function hola() { | ||
$this->fecha = date("Y-m-d H:i"); | $this->fecha = date("Y-m-d H:i"); | ||
Línea 140: | Línea 130: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | class SaludoController extends | + | class SaludoController extends ApplicationController { |
− | |||
− | |||
public function hola($nombre) { | public function hola($nombre) { | ||
$this->fecha = date("Y-m-d H:i"); | $this->fecha = date("Y-m-d H:i"); | ||
Línea 159: | Línea 147: | ||
</source> | </source> | ||
− | Si ahora entramos a [http://localhost/kumbiaphp/saludo/hola/pepito/ http://localhost/kumbiaphp/saludo | + | Si ahora entramos a [http://localhost/kumbiaphp/saludo/hola/pepito/ http://localhost/kumbiaphp/saludo/pepito/], nos mostrará por pantalla el saludo junto con el nombre ("pepito"), y la fecha. |
=Repitiendo la Historia= | =Repitiendo la Historia= | ||
Línea 169: | Línea 157: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | class SaludoController extends | + | class SaludoController extends ApplicationController { |
− | |||
public function hola() { | public function hola() { | ||
$this->fecha = date("Y-m-d H:i"); | $this->fecha = date("Y-m-d H:i"); | ||
Línea 186: | Línea 173: | ||
<source lang="php"> | <source lang="php"> | ||
<h1>Adiós</h1> | <h1>Adiós</h1> | ||
− | <?php echo | + | <?php echo link_to('saludo/hola/', 'Volver a Saludar') ?> |
</source> | </source> | ||
Línea 193: | Línea 180: | ||
[[Archivo:View_adios.png|1000px|thumb|center|Renderizando la Vista adios y muestra un link que vuelve a la vista hola]] | [[Archivo:View_adios.png|1000px|thumb|center|Renderizando la Vista adios y muestra un link que vuelve a la vista hola]] | ||
− | <code> | + | <code>link_to()</code>, es un [[helper]] que ofrece KumbiaPHP para facilitar al momento de programar. Podríamos escribir el HTML directamente, poniendo, por ejemplo <code><a href="kumbiaphp/saludo/index">Volver a Saludar</a></code>, pero esto trae un problema: Si ahora quisiéramos renombrar nuestro proyecto de <code>kumbiaphp</code> a <code>demo</code>, tendríamos que modificar todos los vínculos. |
[[Categoría:Tutoriales KumbiaPHP]] | [[Categoría:Tutoriales KumbiaPHP]] |