0% found this document useful (0 votes)
9 views10 pages

Laravel 5

Laravel description and explanations about who to create a Laravel App5

Uploaded by

Juan Garces
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
9 views10 pages

Laravel 5

Laravel description and explanations about who to create a Laravel App5

Uploaded by

Juan Garces
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
ees INTRODUCCION A LARAVEL Carpetas compartidas Si listamos los archivos donde acabamos de Iniciar sesi6n, lo cual puede hacerse a través del comando Is -al, veremos carpetas y archivos correspondientes al usuario vagrant de nuestra maquina blog. fragrantgbloge=t Ts =a ql inar-nP-x 6 vagrant vagrant 4096 Aug 12 23:51, et 4 vagrant vagrant 16 Aug 12 23:51 bash history 4 vagrant vagrant 220 un 26 12:12 “bash logout 4 vagrant vagrant 3774 Jun 26 12:12 “bashre 2 vagrant vagrant 4096 Jun 26 12:13" droranron 1 vagrant vagrant 8402 Aug 43 24:61 BE sromnenr-X 4 vagrant voprant 4096 Aug 12 23:54 0 A root fot. GL Aug 42 23:51 .ay.cnf 1 Vagrant Vagrant | /oe Aug 12 23:51 “provite 2 vagrant root 4086 Aug 12 23:51 4 vagrant vagrant" @ un 26 12:13 -sudo_as_adnin successful 4 vagrant vogrant 6 3un 26 12:13 “vbox version L root root 182 Jum 26 12:23 laget=hets I Figura 2. Las sesiones mediante el comando vagrant ssh siempre se nician en la carpeta /home/vagrant. La primera impresi6n es que este listado Virtualbox nos permite no muestra ninguno de los archivos de ejecutar maquinas nuestro proyecto, pero vemos que hay una virtiierendictenrae carpeta denominada Code. Si ingresamos en silyont Mind ella y la listamos, veremos una estructura PSR GE SNIWS de carpetas y archivos como la de un Linux y también Mac OSX, proyecto Laravel. entre otros. Iniciando Homestead Es recomendable seguir el log que se genera a medida que se va levantando la maquina virtual, ya que éste brinda informacién clave sobre la configuracién de la misma; por ejemplo, muestra si hay cambios en la maquina que estamos utilizando, nos indica qué puertos desde la maquina virtual se redireccionan hacia qué puertos de la maquina fisica, e indica el método de conexién que se va a utilizar. www.redusers.com 4 2. PRIMEROS PASOS cas BE CMC OHSeniDemd onan wh bari ito © [O wares 1070/0 *O7ROSRRSe® FBG Hola Homestead ye ag peer Orne S Wee a TAF DUTE ADA Bad Die a7 2017 8s seve Fresco [Wa Oren Sapo eae “Centoraon Fe nei a ner em Loaded Conguraten Fie cre oo Sean fo 8a BS seo? enor “Aerated "ete? Ioan c laren, Mcp lene aitaeaten eoReT Ucar aTepeen pan sto-se ipasa Atenas unde n @ Figura 4. A vaves del ser vider web de nuestra maquina vir ual, accedetos @ unt archivo creado desde nuestra méquina fisica. En la Figura 4 vemos que algunos puertos de la maquina virtual se redireccionan a la maquina fisica; entre ellos, el puerto 80 de la virtual, que redirecciona al 8000 de la fisica. Si cambiamos la ruta utilizada por http://localhost:8000, veremos el mismo resultado, y esto se debe a esta propiedad, la cual hace posible acceder a los servicios de la maquina virtual con herramientas de la fisica. Si ingresamos en la carpeta Code/Laravel/public en nuestra maquina virtual y listamos los archivos mediante Is -al también veremos hola.php. www.redusers.com 43 2. PRIMEROS PASOS BB CAWINDOWS\system32\cmad.ere - vagrant ssh agrant@blog:~$ ed Code/Laravel/public/ jagrant@blog:~/Code/Laravel/public$ ls -al ‘otal 17 irwxrwxrwx 1 vagrant vagrant 4096 Aug 13 15:08 irwxrwxrwx 1 vagrant vagrant 8192 Aug 12 22:51 Irwxrwxrwx 1 vagrant vagrant —@ Aug 12 22:45 rwxrwxrwx 1 vagrant vagrant Aug 12 22:45 favicon.ico rwxrwxrwx 1 vagrant vagrant 45 Aug 13 15:09 hola. php rwxrwxrwx 1 vagrant vagrant 584 Aug 12 22:45 .htaccess rwxrwxrwx 1 vagrant vagrant 1823 Aug 12 22:45 index.php [irwxrwxrwx 1 vagrant vagrant © Aug 12 22:45 [BE rwxrwxrwx 1 vagrant vagrant 24 Aug 12 22:45 robots.txt rwxrwxrwx 1 vagrant vagrant 914 Aug 12 22:45 web.config \vagrant@blog:~/Code/Laravel/public$ . I Figura 5. La sincronizacion funciona en ambas vias, es decir, también podemos crear archivos desde la maquina virtual y verios en la fisica. Utilizando la terminal Recordemos que PHP puede ser ejecutado a través tanto de un servidor web (en el caso de Homestead se utiliza Nginx), como de una interfaz de linea de comando, también conocida como CLI (Command Line Interface) por sus siglas en inglés. Laravel brinda una interfaz de linea de comando denominada Artisan, la cual nos permite realizar diversas tareas. Para utilizarla, debemos abrir una terminal y posicionarnos en la carpeta de nuestro proyecto. En el caso de Homestead, primero es necesario iniciar sesion en la terminal de la maquina virtual, ejecutando el comando vagrant ssh. Una vez iniciada la sesi6n, nos posicionamos en la carpeta de nuestro proyecto y ejecutamos el comando php artisan, el cual listara todos los comandos de Artisan disponibles. Trabajar con maquinas virtuales Es posible acceder a Artisan por una interfaz de linea de comando (CLI) tanto desde el sistema coperativo de nuestra maquina fisica como desde la maquina virtual. Lo recomendable es siempre acceder desde el sistema donde se ejecute el entorno. ya que puede diferr la conheuracion establecida para php-clle, incluso, pueden llegar a tener distintas versiones de PHP. a4 www.redusers.com INTRODUCCION A LARAVEL fictcome to Ubuntu 36. ast logit nt @b wvailable commands: clear-conpiled oun help inspire list migrate optimize preset tinker te app ‘app:name :\Users\Narcelo\Proyectos\blog>vagrant ssh | * Documentation: https://help.ubuntu.com hhttps://landscape..canonical .com https: //ubuntu.coa/advantage packages can be updated. Updates are security updates. Sun Aug 13 15:17:44 2617 from 10.0.2.2 int@blog:~$ cd Code/Laravel/ ‘/Code/Laravel$ php artisan ‘aravel Framework 5.5-dev sage: ‘command [options] [arguaents] bptions: h, --help 4, --quiet V;, --version env[ ENV] vivwlww, --verbose output and 3 for debug -2 LTS (GNU/Linux 4 generic x06_64) Display this help message Do not output any message Display this application version Force ANSI output Disable ANSI output Do not ask any interactive question The environment the comand should run under Increase the verbosity of messages: 1 for normal output, 2 for more verbos| Remove the compiled class file Put the application into maintenance mode Display the current framework environment Displays help for a command Display an inspiring quote Lists comands Run the database migrations Optimize the framework for better performance (deprecated) Swap the front-end scaffolding for the application Serve the application on the PHP development server Interact with your application Bring the application out of maintenance mode Set the application namespace I Figura 6. Recordemos que Laravel es el framework para Web Artisans, de alli el nombre de su CLI. cu Una de las ventajas que nos brinda la CLI es que podemos combinar comandos con otras herramientas del sistema operativo, por ejemplo, generar tareas programadas que puedan ser ejecutadas en horarios de menor carga. También, ejecutar los comandos de Artisan por fuera de la CLI, https:/laravel.com/docs/5 S/artisan#programmatically-executing-commands. www.redusers.com 2. PRIMEROS PASOS ees Ejecutemos nuestro primer comando de Laravel escribiendo php artisan down y luego intentemos acceder nuevamente a nuestro sitio web. t}\07ROMan a IW Figura 7. Cuando la aplicacion se encuentra en modo mantenimiento, devolvera siempre esta pantalla. Para volver a levantar nuestro sitio, ejecutamos el comando php artisan up. En el capitulo dedicado a Artisan analizaremos los principales comandos y crearemos los nuestros ESTRUCTURA DE ARCHIVOS Y CARPETAS Como ya lo mencionamos, un framework nos brinda algo mas que cédigo, también nos da una manera de organizarlo. Laravel fue modificando la estructura de carpetas a lo largo de sus distintas versiones y actualmente nos presenta una estructura bastante simple de entender a primera vista. Analicemos la estructura presentada para la version 5.5. 46 www.redusers.com eas INTRODUCCION A LARAVEL app Es la carpeta donde generaremos el cédigo fuente vinculado a la légica de nuestra aplicacion. bootstrap _Es donde se encuentran los archivos para iniciar el framework. Contiene la logica para cargar todos los componentes propios y, a la vez, los que se instalan mediante Composer. Esta carpeta no tiene relacion con el conocido framework de disefto de sitios web. config Es donde se almacenan los archivos de configuracién de la aplicacién. database _Enesta carpeta vamos a encontrar todo lo necesario para generar la estructura de nuestra base de datos y poblarla. La configuracién a la base no se encuentra aqui sino en la carpeta config. public Es la carpeta raiz de nuestro sitio web, la que debe configurarse como punto de entrada del sitio. Todo lo que se agregue aqui seré accesible desde el navegador. resources _Es la carpeta que contiene la logica para la construccién de las interfaces visuales. routes Aqui se encuentran las rutas, es decir, los puntos de entrada que exponemos en el sitio web. storage Es una carpeta de almacenamiento de datos, caché y logs que genera el framework. tests Es donde se concentra la ldgica de las pruebas automatizadas de nuestro sistema. vendor Como lo mencionamos en el Capitulo 1, es una carpeta creada por Composer en donde se almacenan todas las dependencias de nuestro proyecto. Como sabemos, una de las ventajas que nos brinda un framework es la de darnos una estructura que nos permita organizar y dividir mejor el trabajo. Si observamos con detalle la estructura de carpetas, visualizaremos esta organizacin. En general, en el mercado de desarrollo de sitios web, suelen realizarse tres distinciones de desarrolladores: programadores frontend, backend y full stack. www.redusers.com 47 2. PRIMEROS PASOS Es importante considerar que cada tipo de programador que el mercado requiere, debe poseer un conjunto de habilidades especificas. Por lo tanto, es de uma importancia especializarnos para adquirir estas habilidades. Archivos de variables de entorno Archivos de Git Archivos de dependencias Archivos de Homestead Los programadores frontend se encargan de todo lo relacionado con la generacion de interfaces de usuario; en Laravel, trabajarian principalmente en la carpeta resources. Los programadores backend trabajan en el procesamiento final y la persistencia de datos; en Laravel lo harian principalmente en la carpeta app. Los programadores full stack se desenvuelven como programadores backend y frontend. A través de esta estructura de carpetas podemos ver que Laravel se adapta a las necesidades del mercado y nos brinda diferentes espacios para que el trabajo en grupo sea mas sencillo. En cuanto a los archivos, es importante destacar los siguientes grupos: Son los archivos env y .env.example (provienen del inglés environment). Veremos més al respecto en laseccién Configuracion. Git es uno de los sistemas de versionado de codigo més utilizados del mercado y se emplea en el proyecto Laravel de Github. Estos archivos contienen informacién relevante para Git, y son .gitignore y .gitattributes. Enel Capitulo 1 vimos el uso de composer.json y composer.lock, que contiene informacion sobre la version exacta de las librerias instaladas en nuestro proyecto. El archivo package.json tiene informacion sobre las dependencias del repositorio de npm, que estudiaremos en el Capitulo 10. Se utilizan para levantar la maquina virtual con una configuracién determinada. Son los archivos after. sh, Homestead.yaml y Vagrantfile. www.redusers.com Beas CONFIGURACION Los archivos de configuracién de un sistema permiten establecer parametros que pueden cambiar en relacion con el entorno en el cual se ejecuta una aplicacion. Por ejemplo, no es lo mismo ejecutar una aplicacién en nuestra maquina local mientras estamos desarrollando el sistema, que hacerlo en un servidor en produccién, al cual acceden los usuarios finales. Para establecer dichos parametros existen diferentes estrategias. Pero antes analicemos un poco los archivos que se encuentran en la carpeta config de nuestro proyecto blog. INTRODUCCION A LARAVEL La configuracion es clave en el funcionamiento del sistema, de alli la importancia de los archivos que nos permiten modificar los parametros que cambian en relacion con el entorno. 7 \Users Warcelo Proyectos \blogyed contig :\Users\Marcelo\Proyectos\blog\config>dir EL volunen de 1a unidad C no tiene etic EL niimero de serie del volunen es: 3At ta, C8 Directorio de C:\Users\Marcelo\Proyectos\blog\config, « ee 2.163 app-php 3.251 auth. php 1.530 broadcasting.php 2598 cache. php 31951 database.php 2e59 Filesystens.php 4.214 nail. php 2.481 queve.php ‘980 services. php 6.050 session. php 1.004 view.php 3a. 8a bytes 154.176 bytes Libres 2 dirs 66. I Figura 8. Las distribuciones en varios archivos de configuracién contribuyen al orden del proyecto. Como podemos ver, los archivos estan nombrados a partir del tipo de configuracion que almacenan, e iremos trabajando con ellos a lo largo de todo el libro. Antes de comenzar a trabajar can los archivos de configuracién, instalaremos el componente Debugbar, que nos ayudara a entender de mejor forma los entornos. www.redusers.com 2. PRIMEROS PASOS: Debugbar Debuybar es un componente gue brinda informacion sobre lo que estamos viendo en pantalla, para lo cual incorpora una barra debajo de nuestro sitio web. Es fundamental en un entorno de desarrollo, dado que entrega informacion sobre lo que esta produciendo el cédigo. Instalar este componente en Laravel 5.5 es tan simple como posicionarse en la carpeta raiz de nuestro proyecto y ejecutar composer require barryvdh/laravel-debugbar:dev-master. Luego de haber instalado el componente, accedemos a nuestro sitio web nuevamente y visualizaremos debajo una barra que brinda informacion. I Figura 9. La informacion aparece segmentada en categorias, por lo que recurriremos a Debugbar durante todo el desarrollo. Package Auto-Discovery En versiones anteriores a Laravel 5.5 es necesario modificar el archivo config/app.php para agregar los servicios que incorpora el componente y los alias de las funciones. En la nueva versi6n se incorpora el descubrimiento automatic de servicios y alias, por lo cual no tendremos que hacer ninguna modificacién; Composer lo hace por nosotros. 50 www.redusers.com

You might also like