Laravel Parte 2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

LARAVEL PARTE 2

ESTRUCTURA DE CARPETAS DE PROYECTO LARAVEL

Laravel, así como cualquier framework PHP, propone una estructura de carpetas, con la que
organizar el código de los sitios o aplicaciones web. Como ya somos desarrolladores aplicados ;)
deberíamos saber que cuando más separemos el código por responsabilidades, más facilidad de
mantenimiento tendrán nuestras aplicaciones. Por lo tanto, en el desarrollo del framework se
cuidan mucho estos detalles, para que aquellos desarrolladores que lo utilicen sean capaces
también de organizarse de una manera correcta.

NOTA: antes de laravel 5 el framework cambiaba las carpetas y sus archivos, se dieron cuenta que
esto era traumático cada vez que salir una nueva versión. Por eso después de la versión 5 solo
actualiza algunas cosas específicas, las carpetas no pierden su orden.

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.

composer.json
Que contiene información para 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 vendría 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.

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.
Carpeta resources:

En Laravel 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.

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.

Ejecutamos el proyecto realizado en la clase anterior y levanto el servidor


Primero modificaremos la pagina inicial

Abrimos el ID preferido en mi caso Visual Studio Code

Nos vamos a la carpeta RESOURCES/VIEWS

Hay estarán todas las vistas que mostraremos en el programa, vamos al archivo
welcome.blade.php
Tratemos de editar alguna línea ejemplo title

Guardamos y refrescamos la pagina, encontraras código css algo de html y laravel.

Pero todo esto es posible porque laravel llama este archivo desde otro que se llama

ROUTES/web.php
Route::get('/', function () {
return view('welcome');
});

Route::get('/', function () {
Cuando se llame a la dirección raíz

return view('welcome');
retornara una vista llamada “welcome” la cual es la que editamos anteriormente.

NOTA: Blade, el sistema de plantillas de Laravel, el cual nos provee de muchas características que
deberíamos tener en un lenguaje de plantillas, como por ejemplo la capacidad de manejar los
datos de forma automática.

Crearemos un menú con varias paginas

Primero creamos cuatro rutas nuevas: RESOURCES/VIEWS/

home.blade.php

about.blade.php

contact.blade.php

service.blade.php
Luego de creadas se le crea un título html a cada una para identificarlas

<h1>HOME</h1>

Después de crear las vistas tenemos que crear las rutas que carguen las vistas

nos vamos a

ROUTES/web.php

Cambiamos la dirección de la ruta, remplazamos welcome por home y creamos las otras tres

Quedando de la siguiente forma

Route::get('/', function () {
return view('home');
});

Route::get('about', function () {
return view('about');
});
Route::get('service', function () {
return view('service');
});
Route::get('contact', function () {
return view('contact');
});

IMPORTANTE

Es fundamental guardar los cambios en las vistas, se reinicia el servidor “algunas veces” y nos
debe mostrar la palabra home en la página (está configurado al cargar el raíz retorne la vista
home)

Si escribes en el navegador otra página (de las creadas) la cargara automáticamente


Pero hasta el momento no se ha hecho gran cosa, pero se está conociendo como trabaja laravel.

Pero debemos crear la dirección en la navegación (MENU), nos vamos

RESOURCES/VIEWS/home.blade.php

Colocamos en siguiente código

<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="about">About</a></li>
<li><a href="service">Service</a></li>
<li><a href="contact">Contact</a></li>
</ul>
</nav>

lo ideal es que esté disponible en todas las paginas pero no se debe repetir código para eso
utilizamos el poder de .blade

se utiliza un motor de plantillas llamada Blade

Primero creamos una vista nueva que es la que va a tener la navegación (MENU) llamada
layout.blade.php y le pegamos la navegación echa en home. Será una vista padre
Dentro de layout.blade.php , después del código de navegación (MENU) se utiliza una directiva de
Blade llamada @yield('content')

Con este código le estamos diciendo que layout será padre y que todo lo que se coloque acá
puede ser utilizado donde queramos

Luego nos vamos al home

y colocamos otra directiva @extends('layout') quedando asi

@extends('layout') // prepara el archivo para recibir desde layout

@section('content') // inicio de la estructura que se va a colocar

<h1>home</h1>

@stop //final de la estructura

Este último paso lo realizamos para las otras páginas y listo tendremos las páginas con navegación
con la funcionalidad de .blade

La próxima guía será para realizar el mismo ejercicio, pero con una platilla, se tendrá una de
prueba.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy