Con este post solo se pretende dar una guía rápida para empezar a usar este Framework. La descripción del mismo es tan simple como usarlo:
ValsApp es un Framework de aplicaciones web minimalista y de código abierto. Esta escrito en lenguaje PHP y usa los recursos propios del lenguaje para llevar acabo sus tareas.
Descarga
Lo primero que debemos hacer es descargar la última versión disponible desde el siguiente link:
http://sourceforge.net/projects/valsapp/
Lo descomprimimos dentro de nuestro documentroot, en la carpeta resultante encontraremos la carpeta docs y la carpeta src. En docs se encuentra la documentación API del Framework y dentro de src este el Framework en sí. Al acceder vía web a la ruta src veremos la pantalla principal que nos indica que hasta el momento todo va bien 🙂
Estructura
En src nos encontraremos una estructura de directorios como la siguiente:
- protected
Contiene todos lor recursos protegidos de la aplicación, los mismos no serán visibles desde un cliente web, ya que el directorio contiene un .htacces donde se deniega cualquier acceso vía web.- config
Contiene los archivos de configuración de la aplicación. Por defecto el archivo de configuración es nombrado main.php usted pude cambiar el nombre e indicar dicho cambio en el index.php cambiando la constante APP_CONFIG. - controllers
Contiene todos los controladores de la aplicación. Por defecto se encuentra el controlador site el cual contiene las acciones iniciales de su aplicación, el mismo hereda de AppController y todos los controladores deben heredar de este último para poder cambiar su comportamiento en determinado momento - locale
Contiene los catálogos de traducción de su aplicación, (a cual se accede usando gettext en todas las salidas que genere su aplicación) por defecto viene con el catálogo de traducción de inglés USA. Usted puede agregar los catálogos de traducciones que desee y usar poedit para editarlos. - models
En este directorio se almacenan los modelos usados en su aplicación. Encontrara la clase AppModel de la cual deben heredar todos los modelos de su aplicación, puede modificar el comportamiento de todos sus modelos al modificar esta clase. - valsapp
Este directorio contiene los componentes internos de ValsApp. Usted puede cambiarlo de lugar pero antes debe indicar la ruta del mismo en el index.php cambiando el valor de la constante VALSAPP_HOME - views
Contiene las vistas usadas por la aplicación, los template y vistas párciales o widgets
- config
- resources
Contiene todos los recursos públicos de la aplicación como: imágenes, librerías javascript, css y los que usted desee publicar y usar en su aplicación. es recomendable usar la estructura ya sugerida en la que se denota una carpeta según el contenido, por ejemplo la carpeta jquery almacena todos lo recursos necesarios para el uso de jQuery. La carpeta valsapp contiene todos los recursos públicos usados por el framework - themes
Contiene los temas de la aplicación y su contenido al igual que la carpeta resources es totalmente público. Los temas de la aplicación estaran organizados en carpetas y pueden contener sus propios recursos. Entre los recursos de cada temas debe estar una carpeta views en la que se encontraran las vistas usadas por el tema. Para más detalle puede darle una mirada al tema bootstrap que viene como ejemplo. - index.php
Es el punto de entrada de la aplicación y donde se definen constantes importantes para el funcionamiento del framework y donde se inicia el cargador de la aplicación («loader.php»).- APP_PATH
Indica la ruta de su aplicación y no debería de modificarse al menos que usted sepa lo que hace - APP_CONFIG
Indica la ruta completa del archivo de configuración de su aplicación, solo debería cambiar el nombre del archivo en caso que desee tener configuraciones separadas para producción y desarrolo, pero el directorio base debería de ser el mismo. - VALSAPP_HOME
Indica la ruta en donde se encuentra el framework y sus componentes internos. Lo que quiere decir que es posible tener varias aplicaciones usando el mismo core.
- APP_PATH
Hello World
Nuestro hello world comenzará con crear una acción en el controlador site y su respectiva vista para saludar. Para ello agregamos un método público en el controlador site al cual llamaremos actionSaludar , el mismo recibirá por parámetros la variable $nombre y renderizará la vista con un un mensaje de saludo. Todo esto debería de verse así:
<?php
class Site extends AppController{
/**
* Acción principal de la aplicación
*/
public functionactionIndex (){
//Implemente sus acciones de inicio aquí
$this->render(«index»);
}
public function actionSaludar($nombre){
$saludo = «Hola $nombre»;
$this->render(«saludar», array(«saludo»=>$saludo));
}
}
Vista
Ahora procedemos a crear la vista del respectivo controlador. Para ello agregamos un archivo con el mismo nombre de la acción y extensión phtml en la carpeta views/site (Ya que site es el controlador en el que estamos trabajando).
En dicha vista mandamos a imprimir el valor del atributo saludo del controlador como se muestra a continuación:
<?php print $saludo;?>
Ahora accedemos con la siguiente URL http:///?r=site/saludar/robert
Con esto vemos como se accede a las acciones de los controladores y como se le envían parámetros. El resultado debería ser algo así:
Conclusiones
Todas las acciones de la aplicación se acceden mediante el parámetro r, al cual se ele debe indicar el controlador y la acción a ejecutar. Adicionalmente se le pueden indicar parámetros a dichas acciones. Cada acción de un controlador debe tener su respectiva vista en una carpeta con el mismo nombre del controlador. Las vistas deben ser con el mismo nombre de la acción a ejecutar y con extensión phtml. Cualquier método que no sea una acción pública de la aplicación debe ser privado para evitar que el mismo sea llamado a través de una petición get.