Edición de «Primera Aplicación en Kumbia»
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: | ||
El presente capítulo tiene como objetivo entender la creación de una primera aplicación usando Kumbia, que nos servirá para entender la arquitectura MVC y algunos características interesantes. | El presente capítulo tiene como objetivo entender la creación de una primera aplicación usando Kumbia, que nos servirá para entender la arquitectura MVC y algunos características interesantes. | ||
− | |||
− | |||
= Creando una nueva aplicación = | = Creando una nueva aplicación = | ||
Línea 14: | Línea 12: | ||
Ahora tenemos que escribir el famosos Hola Mundo! pero nosotros hicimos un pequeño cambio y sera Hola Kumbia! Pensando en esto recordemos el modelo MVC. Según esto, Kumbia debería aceptar una petición que buscaría en controlador y en éste, una acción que atendería la petición, luego el controlador utilizaría una vista para mostrar la información al usuario. | Ahora tenemos que escribir el famosos Hola Mundo! pero nosotros hicimos un pequeño cambio y sera Hola Kumbia! Pensando en esto recordemos el modelo MVC. Según esto, Kumbia debería aceptar una petición que buscaría en controlador y en éste, una acción que atendería la petición, luego el controlador utilizaría una vista para mostrar la información al usuario. | ||
− | Para escribir el código de nuestro Hola Kumbia!, no necesitamos sino un controlador y una | + | Para escribir el código de nuestro Hola Kumbia!, no necesitamos sino un controlador y una ista. No necesitamos modelos ya que no estamos trabajando la información de una base de datos. |
Nos ubicamos en el directorio apps/default/controllers aquí estarán nuestros controladores, para crear un controlador es importante tener en cuenta las convenciones de nombre que utiliza el Framework, para entender mejor nosotros llamaremos a nuestro controlador saludo_controller.php nótese el sufijo _controller.php esto forma parte de la convención de nombre y esto hace que Kumbia identifique ese archivo como un controlador. | Nos ubicamos en el directorio apps/default/controllers aquí estarán nuestros controladores, para crear un controlador es importante tener en cuenta las convenciones de nombre que utiliza el Framework, para entender mejor nosotros llamaremos a nuestro controlador saludo_controller.php nótese el sufijo _controller.php esto forma parte de la convención de nombre y esto hace que Kumbia identifique ese archivo como un controlador. | ||
Línea 20: | Línea 18: | ||
Dentro de este archivo colocaremos las siguientes lineas de codigo. | Dentro de este archivo colocaremos las siguientes lineas de codigo. | ||
− | ''' | + | '''saludos_controller.php''' |
<source lang="php" line> | <source lang="php" line> | ||
<?php | <?php | ||
Línea 32: | Línea 30: | ||
=Kumbia URLS= | =Kumbia URLS= | ||
− | Para continuar de una manera que vayamos entendiendo el funcionamiento del framework es importante entender sus URL, hagamos una descomposición de esta URL | + | Para continuar de una manera que vayamos entendiendo el funcionamiento del framework es importante entender sus URL, hagamos una descomposición de esta URL |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Cualquier otra información pasada por URL es tomada como parámetro para propósito de nuestra aplicación. | Cualquier otra información pasada por URL es tomada como parámetro para propósito de nuestra aplicación. | ||
=Nuestra Primera Acción= | =Nuestra Primera Acción= | ||
− | + | Retomando la parte 1 de este apartado, vamos a ejecutar desde el navegador nuestro controlador saludo y la acción index de la siguiente manera http://localhost/kumbia/saludo/index nos muestra lo siguiente. | |
<source lang="php" line> | <source lang="php" line> | ||
− | <?php | + | 1.<?php |
− | + | 2. class SaludoController extends ApplicationController { | |
− | + | 3. function hola(){ | |
− | + | 4. } | |
− | + | 5. } | |
− | ?> | + | 6.?> |
</source> | </source> | ||
Como podemos darnos cuenta tenemos una acción vacía sin nada que mostrar al usuario que realizo la solicitud, esto es sencillo de deducir ya que no tenemos ninguna vista asociada a nuestra acción. | Como podemos darnos cuenta tenemos una acción vacía sin nada que mostrar al usuario que realizo la solicitud, esto es sencillo de deducir ya que no tenemos ninguna vista asociada a nuestra acción. | ||
Agreguemosle contenido a la acción index, esto lo hacemos creando un directorio con el mismo nombre de nuestro controlador en este caso deberia llamarse saludo y dentro de este estaran todas las vistas asociadas a las acciones que necesiten mostrar alguna información. | Agreguemosle contenido a la acción index, esto lo hacemos creando un directorio con el mismo nombre de nuestro controlador en este caso deberia llamarse saludo y dentro de este estaran todas las vistas asociadas a las acciones que necesiten mostrar alguna información. | ||
+ | Para efecto del ejemplo llamamos a una acción llamada index por lo tanto creamos un archivo llamado index.phtml fijese que el archivo se llama igual que la acción, este archivo lo creamos en el directorio | ||
− | + | apps/default/views/saludo/index.phtml | |
− | |||
− | |||
Una vez creado este archivo le agregamos un poco de contenido... | Una vez creado este archivo le agregamos un poco de contenido... | ||
+ | index.phtml | ||
<source lang="php" line> | <source lang="php" line> | ||
− | <h1>Hola Kumbia</h1> | + | 1.<h1>Hola Kumbia</h1> |
</source> | </source> | ||
− | Ahora si volvemos ejecutar desde nuestro navegador web http://localhost/kumbia/saludo/index si nos debe mostrar el contenido del archivo | + | Ahora si volvemos ejecutar desde nuestro navegador web http://localhost/kumbia/saludo/index si nos debe mostrar el contenido del archivo index.phtml, tal como se muestra en la imagen. |
Ahora si visualizamos en el explorador se entiende que Kumbia automáticamente carga la vista con el mismo nombre la acción en el directorio con el nombre del controlador seleccionado. | Ahora si visualizamos en el explorador se entiende que Kumbia automáticamente carga la vista con el mismo nombre la acción en el directorio con el nombre del controlador seleccionado. | ||
Línea 73: | Línea 65: | ||
Pues como se ve ya hemos ejecutado la primera acción en Kumbia esto nos permite apreciar el comportamiento del framework. | Pues como se ve ya hemos ejecutado la primera acción en Kumbia esto nos permite apreciar el comportamiento del framework. | ||
− | + | Agregando más Contenido | |
− | |||
− | |||
Ahora vamos a mostrar la hora y fecha haciendo uso de la función date(), con esto evitamos tener un contenido estático y tener un sitio mas dinámico, editamos el archivo saludo_controller.php. | Ahora vamos a mostrar la hora y fecha haciendo uso de la función date(), con esto evitamos tener un contenido estático y tener un sitio mas dinámico, editamos el archivo saludo_controller.php. | ||
+ | saludo_controller.php | ||
<source lang="php" line> | <source lang="php" line> | ||
− | <?php | + | 1.<?php |
− | + | 2.public class SaludoController extends ApplicationController { | |
− | + | 3. public function index() { | |
− | + | 4. $this->fecha = date("Y-m-d H:i"); | |
− | + | 5. } | |
− | + | 6.} | |
− | ?> | + | 7.?> |
</source> | </source> | ||
Línea 93: | Línea 84: | ||
<source lang="php" line> | <source lang="php" line> | ||
− | <h1>Hola Kumbia</h1> | + | 1.<h1>Hola Kumbia</h1> |
− | <? | + | 2.<? echo $fecha ?> |
</source> | </source> | ||
− | '''Nota | + | '''Nota''' |
− | Ahora si volvemos a ejecutar http://localhost/kumbia/saludo/index obtendremos la hora y fecha del momento | + | Cuando hacemos uso $this sobre una variable en el controlador, como se puede apreciar con $this->fecha automáticamente tenemos esa variable en la vista de la siguiente manera $fecha, esto porque kumbia trabaja con variable de instancia. |
− | + | Ahora si volvemos a ejecutar http://localhost/kumbia/saludo/index obtendremos la hora y fecha del momento que se haga la petición tal como se muestra en la imagen. | |
− | + | Repitiendo la Historia | |
− | + | Ahora vamos a crear otro controlador que lo llamaremos despedida haciendo memoria tendremos un archivo en apps/default/controllers/despedida_controller.php | |
− | Ahora vamos a crear otro controlador que lo llamaremos despedida haciendo memoria tendremos un archivo en | ||
− | + | despedida_controller.php | |
<source lang="php" line> | <source lang="php" line> | ||
− | <?php | + | 1.<?php |
− | class DespedidaController extends ApplicationController { | + | 2.public class DespedidaController extends ApplicationController { |
− | + | 3. public function adios() { | |
− | + | 4. | |
− | } | + | 5. } |
− | ?> | + | 6.} |
+ | 7.?> | ||
</source> | </source> | ||
− | Tal como se menciona arriba creamos una vista con el nombre de la acción en este caso nuestra vista en | + | Tal como se menciona arriba creamos una vista con el nombre de la acción en este caso nuestra vista en apps/default/views/despedida/adios.phtml |
− | + | adios.phtml | |
− | |||
− | |||
<source lang="php" line> | <source lang="php" line> | ||
− | <h1> | + | 1.<h1>Adios</h1> |
− | <? | + | 2.<? echo link_to("saludo/index", "Volver a Saludar") ?> |
</source> | </source> | ||
Ahora colocamos en nuestro navegador http://localhost/kumbia/despedida/adios obtendremos un texto y un vinculo hacia nuestro controlador saludo y la acción index. | Ahora colocamos en nuestro navegador http://localhost/kumbia/despedida/adios obtendremos un texto y un vinculo hacia nuestro controlador saludo y la acción index. | ||
− | + | link_to, es un helpers que ofrece kumbia para facilitar al momento de programar este helpers es equivalente hacer | |
− | + | <a href="kumbia/saludo/index">Volver a Saludar</a> esto funciona bien, pero que sucederia si decidimos cambiar el nombre de la aplicacion de kumbia a demo por ejemplo, significa que deberias cambiar los vinculos de la aplicacion para que apunten a la nueva ubicación. | |
− | <a href="kumbia/saludo/index">Volver a Saludar</a> | ||
− | |||
− | esto funciona bien, pero que |