martes, 3 de enero de 2017

Ejemplo completo ExtJs


https://plus.google.com/+SidYakGon/posts/SgKbdRGQAmE

Generar rutas en Laravel 5


Identificar el archivo donde se generan las rutas de la aplicación

Comenzamos viendo dónde se generan las rutas que nuestra aplicación va a responder, a través del framework Laravel. Estamos trabajando con la versión 5.1, aunque en todo Laravel 5 debe de ser igual.
Navega con tu explorador de archivos a la carpeta app/Http y encontrarás allí un fichero llamado routes.php. Ese es el archivo que contiene todas las rutas de la aplicación.
Una vez abierto observarás que tiene una llamada a un método Route::get(). Ese es el método que usaremos para generar las rutas.
Nota: El orden en el que pongamos las rutas es importante, puesto que primero se gestionarán las que aparezcan antes en el código.

Crear nuestra primera ruta

Guiándonos por el ejemplo de ruta que encontramos podemos crear nuestra propia ruta.
Route::get('/test', function(){
 echo "Esto es una simple prueba!!";
});
Aunque tendremos que volver en breve sobre las explicaciones del sistema de rutas, es importante señalar algunos puntos.
  1. Hay que fijarse que cualquier ruta corresponde con un verbo del HTTP (get, post, etc.), que es el nombre del método que estamos invocando sobre la clase Route. En nuestro caso usamos el método get, que es el más común de las acciones del protocolo HTTP. 
  2. Además observa que ese método recibe dos parámetros, el primero de ellos es el patrón que debe cumplirse para que esa ruta se active. En nuestra ruta hemos colocado "/test" que quiere decir que desde la home de la aplicación y mediante el nombre "test" se activará esa ruta. En este caso el patrón es una simple cadena, pero en general podrá ser mucho más complejo, generando partes de la ruta que sean parámetros variables. Todo eso lo estudiaremos más adelante. 
  3. Como segundo parámetro al método get() para definir la ruta indicamos una función con el código a ejecutar cuando Laravel tenga que procesarla. Observarás que es una "función anónima" cuyo código es un simple echo para generar una salida.
Nota: Para quien no lo sepa, una función anónima es simplemente una función que no tiene nombre. Están disponibles en PHP a partir de la versión 5.3. Estas funciones se usan típicamente como parámetros en funciones o como valores de retorno y quizás quien venga de Javascript las conocerá más que de sobra, porque en ese lenguaje se usan intensivamente. Otro nombre con el que te puedes referir a funciones anónimas es "closure".

Acceder a nuestra ruta

Viene la parte más fácil, que es acceder con el navegador a la nueva ruta que acabamos de definir. Si tu proyecto estaba en un localhost, usarás el nombre de tu dominio asociado, seguido con el patrón de la ruta que acabamos de crear ("/test"), quedando algo como esto:
http://localhost/test
Accediendo a esa dirección deberías ver el mensaje configurado en la closura enviada al generar la ruta.
Esto es una simple prueba!!

Estructura de Carpetas Laravel 5

Archivos en la carpeta raíz

Los archivos que tenemos sueltos en la carpeta raíz de Laravel son los siguientes (o al menos los más importantes que debes ir conociendo).
.env 
Es la definición de las variables de entorno. Podemos tener varios entornos donde vamos a mantener la ejecución de la aplicación con varias variables que tengan valores diferentes. Temas como si estamos trabajando con el debug activado, datos de conexión con la base de datos, servidores de envío de correo, caché, etc.
Nota: Si .env no se ha generado en tu sistema lo puedes generar a mano mediante el archivo .env.example, renombrando ese fichero o duplicándo y renombrando después. Esto se explicó anteriormente en el artículo llamado Tareas para completar la instalación y problemas comunes.
composer.json 
Que contiene información para Composer. Para conocer algo más de este fichero es mejor que te leas el Tutorial de Composer.
Además en la raíz hay una serie de archivos que tienen que ver con Git, el readme, o del lado frontend el package.json o incluso un gulpfile.js que no vendria muy al caso comentar aquí porque no son cosas específicas de Laravel.

Carpeta vendor

Esta carpeta contiene una cantidad de librerías externas, creadas por diversos desarrolladores que son dependencias de Laravel. La carpeta vendor no la debemos tocar para nada, porque la gestiona Composer, que es nuestro gestor de dependencias.
Si nosotros tuviésemos que usar una librería que no estuviera en la carpeta vendor la tendríamos que especificar en el archivo composer.json en el campo require. Luego hacer un "composer update" para que la nueva dependencia se instale.

Carpeta storage

Es el sistema de almacenamiento automático del framework, donde se guardan cosas como la caché, las sesiones o las vistas, logs, etc. Esta carpeta tampoco la vamos a tocar directamente, salvo que tengamos que vaciarla para que todos esos archivos se tengan que generar de nuevo.
También podemos configurar Laravel para que use otros sistemas de almacenamiento para elementos como la caché o las sesiones.
En cuanto a las vistas cabe aclarar que no son las vistas que vamos a programar nosotros, sino las vistas una vez compiladas, algo que genera Laravel automáticamente en función de nuestras vistas que meteremos en otro lugar.

Carpeta resources

En Laravel 5 han creado esta carpeta, englobando distintos tipos de recursos, que antes estaban dentro de la carpeta app. En resumen, en esta carpeta se guardan assets, archivos de idioma (lang) y vistas.
Dentro de views tienes las vistas que crearás tú para el desarrollo de tu aplicación. En la instalación básica encontrarás una serie de subcarpetas con diversos tipos de vistas que durante el desarrollo podrias crear, vistas de emails, errores, de autenticación. Nosotros podremos crear nuevas subcarpetas para organizar nuestras vistas.
A propósito, en Laravel se usa el motor de plantillas Blade. Lo estudiaremos más adelante.

Carpeta Public

Es el denominado "document root" del servidor web. Es el único subdirectorio que estará accesible desde fuera mediante el servidor web. Dentro encontrarás ya varios archivos:
.htaccess 
En el caso de Apache, este es el archivo que genera las URL amigables a buscadores.
favicon.ico 
Es el icono de nuestra aplicación, que usará el navegador para el título de la página o al agregar la página a favoritos.
index.php 
Este es un archivo muy importante, que hace de embudo por el cual pasan todas las solicitudes a archivos dentro del dominio donde se está usando Laravel. Estaría bien que abrieras ese index.php para observar lo que tiene dentro. Para el que conozca el patrón "controlador frontal" o "front controller" cabe decir que este index.php forma parte de él.
robots.txt 
Que es algo que indica las cosas que puede y no puede hacer a la araña de Google y la de otros motores de búsqueda.
En la carpeta public podrás crear todas las subcarpetas que necesites en tu sitio web para contener archivos con código Javascript, CSS, imágenes, etc.

Carpeta database

Contiene las alimentaciones y migraciones de la base de datos que veremos más adelante.

Carpeta bootstrap

Permite el sistema de arranque de Laravel, es otra carpeta que en principio no necesitamos tocar.

Carpeta config

Esta carpeta contiene toda una serie de archivos de configuración. La configuración de los componentes del framework se hace por separado, por lo que encontraremos muchos archivos PHP con configuraciones específicas de varios elementos que seguramente reconoceremos fácilmente.
La configuración principal está en app.php y luego hay archivos aparte para configurar la base de datos, las sesiones, vistas, caché, mail, etc.

Carpeta app

Es la última que nos queda y es la más importante. Tiene a su vez muchas carpetas adicionales para diversas cosas. Encuentras carpetas para comandos, para comandos de consola, control de eventos, control de excepciones, proveedores y servicios, etc.
Es relevante comentar que en esta carpeta no existe un subdirectorio específico para los modelos, sino que se colocan directamente colgando de app, como archivos sueltos.
La carpeta Http que cuelga de App contiene a su vez diversas carpetas importantes, como es el caso de aquella donde guardamos los controladores, middleware, así como el archivo de rutas de la aplicación routes.php que vimos anteriormente, entre otras cosas.

Iniciando Laravel 5


Iniciando Tutorial de Laravel 5

Laravel 5 prácticamente ya está aquí, y con bastantes cambios en la nueva versión, nueva estructura de directorios, contratos, validaciones y muchas más cosas que iremos viendo de forma progresiva en la serie de tutoriales de Laravel 5.
El que no conozca demasiado laravel, aquí un pequeño resumen:
  • Un potente framework php para desarrollar aplicaciones web.
  • Utiliza las últimas características de PHP5, 100% programación orientada a objetos.
  • Una gran cantidad de recursos para agilizar el desarrollo de tareas repetitivas.
  • Un código muy amigable y fácil de entender sólo con leerlo.
  • Control de versiones de base de datos a través de migraciones.
  • Una línea de comandos con muchas herramientas accesible a través de artisan.
  • En esta última versión hace uso de traits, una gran herramienta de php5, genial para agrupar funcionalidades muy específicas, así como la autenticación.
Dicho ésto, debemos tener claro que la forma de programar en laravel 5 va a ser la misma que en laravel 4, cambian cosas, pero la forma de escribir nuestras aplicaciones sigue siendo la misma, así que te invito a ver los tutoriales sobre laravel del blog sin no lo conoces demasiado.
Requisitos del servidor
El marco Laravel tiene algunos requisitos de sistema. Por supuesto, todos estos requisitos son satisfechos por la máquina virtual Laravel Homestead, por lo que es altamente recomendable que utilice Homestead como su entorno de desarrollo Laravel local.
Sin embargo, si no está usando Homestead, deberá asegurarse de que su servidor cumple los siguientes requisitos:
PHP> = 5.6.4
xtensión PHP OpenSSL
Extensión PHP de PDO
Extensión PHP de Mbstring
Extensión de PHP de Tokenizer
Extensión PHP XML
.- Instalación de Laravel:
Laravel utiliza Composer para gestionar sus dependencias. Por lo tanto, antes de usar Laravel, asegúrese de tener instalado Composer en su máquina.
Instalador de Via Laravel
Primero, descargue el instalador de Laravel usando Composer:
composer global require "laravel/installer"