Crear sus propias aplicaciones, incluso a pequeña o simple escala, es una excelente manera de desarrollar sus habilidades. Este tutorial del sitio web para compartir enlaces usando Laravel nos ayudará a hacer precisamente eso. Vamos a cubrir mucho terreno como puede ver en la tabla de contenido que se enumera a continuación. Comenzamos con los conceptos básicos de elegir un nombre para su proyecto y seguimos todos los pasos necesarios para obtener una aplicación que funcione en el momento en que llegue al último paso.

Me gusta poner las cosas en una secuencia de eventos paso a paso. Este esquema nos proporcionará cada paso a seguir, en orden, al crear un sitio web básico en Laravel.

  • 1# Elija un nombre de proyecto.
  • 2#Instalar Homestead.
  • 3# Crea una aplicación Laravel.
  • 4# Establezca el espacio de nombres de la aplicación.
  • 5#Abra el proyecto en PHP Storm.
  • 6#Configure la URL base, los proveedores y los alias.
  • 7#Configure la configuración del entorno.
  • 8#Crear la base de datos.   
  • 9# Prueba PHP Unit.
  • 10#Crear archivo de rutas.
  • 11#Crear controladores con Artisan.
  • 12#Crea modelos con Artisan.
  • 13#Crear migraciones de apoyo.
  • 14# Implementar los modelos.
  • 15# Implementar los controladores.
  • dieciséis#Crear solicitudes de formulario.
  • 17#Crear formularios asociados.
  • 18#Cree un diseño maestro.
  • 19#Cree las vistas restantes de la hoja.
  • 20# Incluya una clase de ayudante.
  • 21# Implementar votos posteriores con Ajax.
  • 22# Establecer redirectTo para el sistema de autenticación de Laravel.
  • 23# Capturas de pantalla de nuestra aplicación.

# Elija un nombre de proyecto

Vamos a convertirnos en nueces aquí, con todo construido sobre Laravel Homestead. Es la mejor manera de tener una plataforma de desarrollo confiable y flexible directamente en su propia máquina. Si desea seguir adelante, instale Laravel Homestead primero. Llamaremos a nuestro proyecto angleslash, y querremos poder visitar http://angleslash.dev en nuestro navegador y hacer que todo funcione.


#Instalar Homestead

Hacer que Homestead funcione es un tutorial en sí mismo. Simplemente lea la documentación para comenzar a trabajar, o visite nuestro artículo aquí en Vegibit que habla sobre la configuración de Homestead.

Necesitaremos configurar nuestro archivo Homestead.yaml para agregar nuestro nuevo sitio al servidor de Homestead. Esto es bastante fácil, solo asegúrese de no usar ningún carácter de tabulación en el archivo, de lo contrario, el vagabundo lo molestará. Nuestro archivo Homestead.yaml actual tiene estas entradas en la sección de sitios.

nota: Si ya tiene Homestead en ejecución, aún puede simplemente editar Homestead.yaml, luego ejecutar:,vagrant provisiony estará listo para comenzar. Además, deberá configurar su archivo de hosts para agregar una entrada para su nuevo proyecto. Para Windows, esto se encuentra enC:\Windows\System32\drivers\etc\hosts Nuestro archivo de hosts actual se ve así:

Puede ver que este servidor de homestead tiene 3 proyectos diferentes ejecutándose al mismo tiempo. Tenemos un proyecto base homestead.app para varias pruebas, instalamos la aplicación larabook de la serie Laracast de Jeffrey Way y ahora tenemos nuestro nuevo sitio web para compartir enlaces sociales, angleslash.dev. Homestead realmente proporciona una forma agradable y conveniente de trabajar en varios proyectos a la vez. Si está desarrollando varios sitios web, es imprescindible.


#Crear la aplicación angleslash

Ahora que tenemos todo listo, podemos comenzar a construir el proyecto. Lo primero que tendremos que hacer es ssh en nuestro servidor.
vagrant ssh

Una vez que hemos iniciado sesión en nuestro servidor, podemos crear fácilmente un nuevo proyecto con Composer.
vagrant @ homestead: ~ / Código composer create-project laravel/laravel angleslash --prefer-dist


# Establezca el espacio de nombres de la aplicación

Podemos configurar fácilmente el espacio de nombres para nuestra aplicación con Artisan, así que hagámoslo.
vagabundo @ homestead: ~ / Code / angleslash $ php artisan app:name angleslash

Debería ver el resultado, ¡Conjunto de espacios de nombres de la aplicación!


#Abra el proyecto en PHP Storm

Sí, es una solución de pago, pero es la mejor. También ayuda a ver realmente cómo se relaciona todo el código de un marco. Entonces, si aún no lo tienes, ¡cómprate una copia! Agregaremos el ayudante ide de barryvdh ya que es fantástico para ayudarnos a completar el código.

vagabundo @ homestead: ~ / Code / angleslash $ composer require barryvdh/laravel-ide-helper

Agreguemos algunos paquetes más que pueden ser útiles mientras lo hacemos.

vagrant @ homestead: ~ / Code / angleslash $ vagrant composer require guzzlehttp/guzzle
@ homestead: ~ / Code / angleslash $ vagrant composer require illuminate/html
@ homestead: ~ / Code / angleslash $ composer require laravel/cashier

Tenga en cuenta que, dado que simplemente usamos Composer para agregar los requisitos, ni siquiera tenemos que editar manualmente o usar el archivo composer.json. El compositor se encarga de todo eso, lo cual es agradable.


#Configurar el archivo app.php

Una vez que se configuran las dependencias, el primer lugar al que normalmente nos dirigimos es el archivo app.php que se encuentra en el directorio de configuración del espacio de nombres raíz. Aquí podemos configurar algunos de los ajustes básicos que necesitará cualquier aplicación.

Primero, configuraremos nuestra URL base.

A continuación, completaremos la providersmatriz con algunas entradas nuevas.

Finalmente configuraremos la aliasesmatriz.

Esto nos permitirá continuar usando HTML y ayudantes de formularios originales de versiones anteriores de Laravel. Por si acaso, hagamos ahora una actualización del compositor y luego generemos los documentos para el asistente ide. Al completar el comando ide-helper: generate, nuestro editor de código ahora tendrá intellisense como autocompletar para Laravel. Es una característica fantástica.

vagrant @ homestead: ~ / Código / angleslash $ vagrant composer update
@ homestead: ~ / Código / angleslash $ php artisan ide-helper:generate

Hemos realizado una buena cantidad de configuración, y tenemos una instalación básica bastante buena del marco de Laravel. Solo para confirmar, visitaremos http://angleslash.dev/, y ​​sí, vemos la página de bienvenida amigable que indica que tenemos una instalación exitosa de Laravel para trabajar.
Crea tu propio sitio web para compartir enlaces sociales con Laravel

De hecho, el tutorial hasta este punto es una excelente lista de verificación de flujo de trabajo sin importar qué tipo de proyecto esté creando. ¡Dios, puede que necesite marcar esta publicación!


#Configure la configuración del entorno

En el espacio de nombres de la raíz, podemos abrir el .envarchivo y establecer cierta información. Realmente lo único que nos preocupa ahora en este entorno de desarrollo es establecer el nombre de la base de datos. Usaremos angleslash como el nombre de la base de datos para este proyecto. Todas las demás opciones del .envarchivo se dejarán en los valores predeterminados por ahora.


#Crear la base de datos

Nuestra aplicación necesitará una base de datos para trabajar. Dado que tenemos varios proyectos en marcha en nuestro servidor de Homestead, necesitaremos crear una nueva base de datos para trabajar. Recuerde que el usuario de mysql en homestead es homestead y la contraseña es secreta . Vamos a crear esta base de datos desde la terminal mysql ahora.

vagrant @ homestead: ~ $ mysql -u homestead -p
Ingrese la contraseña: secret

mysql> create database angleslash;
Consulta OK, 1 fila afectada (0.00 seg)

mysql> show databases;

5 filas en conjunto (0,00 seg)

mysql>exit

¡Perfecto! Con eso, ahora tenemos una base de datos lista para usar y podemos seguir adelante.


# Ejecute su primera prueba de PHP

Desde la terminal, podemos ejecutar la prueba de ejemplo que viene con Laravel. Este es el comando para ejecutarlo.

vagabundo @ homestead: ~ / Code / angleslash $ vendor/bin/phpunit

La prueba anterior simplemente ejecutó ExampleTest.php en el directorio de pruebas. Echemos un vistazo al código involucrado.

Solo se asegura de que visitar la página de inicio dé una respuesta de 200 ok.


#Crear el archivo de rutas

El archivo de rutas en Laravel nos brinda una descripción general de alto nivel de cómo funcionará nuestra aplicación. Podemos ver todos los puntos finales que necesitan responder a las solicitudes, así como qué controladores estarán en uso. Aquí está el archivo de rutas que tenemos para nuestro sitio web para compartir enlaces. Después de revisar rápidamente el archivo de rutas, crearemos el sitio web para compartir enlaces de acuerdo con la configuración de nuestro archivo de rutas.

Archivo de rutas


#Crear controladores con Artisan

A continuación, usaremos Artisan para generar los controladores que necesitaremos en nuestra aplicación. Estoy tratando de familiarizarme lo más posible con Artisan, ya que la generación automática de código me parece mucho. En primer lugar, echemos un vistazo rápido a todas las opciones de generación de código disponibles para nosotros. Podemos hacer esto canalizando la salida de php artisanal grepcomando mientras buscamos make .

vagabundo @ homestead: ~ / Code / angleslash $ php artisan | grep make

¡Esto es genial! Artisan brinda la capacidad de crear nuevas clases de comando, recursos, eventos, middleware, migraciones, proveedores de servicios y también las solicitudes de formulario que la gente ha estado entusiasmando. Creemos rápidamente todos los controladores que necesitaremos para nuestra aplicación.

vagrant @ homestead: ~ / Code / angleslash $ El php artisan make:controller UserController
controlador se creó correctamente.
vagrant @ homestead: ~ / Code / angleslash $ El php artisan make:controller PostController
controlador se creó correctamente.
vagrant @ homestead: ~ / Code / angleslash $ El php artisan make:controller SubController
controlador se creó correctamente.
vagrant @ homestead: ~ / Code / angleslash $ El php artisan make:controller VoteController
controlador se creó correctamente.

Todos nuestros controladores ahora están creados. Actualmente están vacíos, pero estamos avanzando en la creación del esqueleto de la aplicación. Creemos ahora los modelos.


#Crear modelos con Artisan

Vamos a utilizar el modelo de usuario integrado que se incluye con Laravel, por lo que no es necesario crearlo. Lo modificaremos ligeramente y le agregaremos algunas relaciones elocuentes un poco más tarde. Necesitamos algunos modelos para manejar nuestras Publicaciones, Publicaciones de votos y Subsidios. Creemos esos ahora nuevamente usando Artisan. Los subs son solo categorías, como un subreddit.

vagrant @ homestead: ~ / Code / angleslash $ php artisan make:model Post
Modelo creado con éxito.
Migración creada: 2015_06_01_175305_create_posts_table vagrant
@ homestead: ~ / Code / angleslash $ php artisan make:model PostVote
Modelo creado correctamente.
Migración creada: 2015_06_01_175322_create_post_votes_table vagrant
@ homestead: ~ / Code / angleslash $ php artisan make:model Sub
Modelo creado correctamente.
Migración creada: 2015_06_01_175337_create_subs_table

vagrant @ homestead: ~ / Code / angleslash $ php artisan make:migration foreign_keys
Migración creada: 2015_06_01_181451_foreign_keys

Nota: Cuando creamos cada modelo, Laravel crea automáticamente una migración para nosotros. Dado que tenemos nuestros archivos de migración configurados, completemos nuestras migraciones con el esquema que necesitaremos para respaldar nuestro sitio web básico para compartir enlaces.


#Crear migraciones de apoyo

create_posts_table.php

create_postvotes_table.php

create_subs_table.php

create_foreign_keys.php

Con nuestros archivos de migración ahora creados, ejecutemos las migraciones con Artisan para crear las tablas en la base de datos que necesitaremos.

vagrant @ homestead: ~ / Code / angleslash $ php artisan migrate
Tabla de migración creada correctamente.
Migrado
: 2014_10_12_000000_create_users_table
Migrado
: 2014_10_12_100000_create_password_resets_table
Migrado
: 2015_06_01_175305_create_posts_table Migrado: 2015_06_01_175322_create_post_votes_06_subtabla_de_create_01

Si iniciamos sesión en mysql y emitimos el show tablescomando en la base de datos en cuestión, veremos que nuestras migraciones hicieron un gran trabajo al crear todas las tablas que necesitaremos.

mysql> show tables;


# Implementar nuestros modelos

Pudimos usar Artisan para crear el modelo estándar para nuestros modelos. Todavía tenemos que completar la lógica por nuestra cuenta. Al igual que completar el código de Schema, esto requiere que el desarrollador lo piense un poco. Usaremos Laravel hasMany y Laravel pertenece a las relaciones. Así es como podríamos hacer eso.

Modelo de usuario

Submodelo

Modelo de publicación

Modelo posterior a la votación


# Implementar nuestros controladores

Al igual que nuestros modelos, aún necesitamos completar la lógica de nuestros controladores. Tenemos que dar cuenta de los controladores de usuario, sub, publicación y voto. Hagámoslo aquí.

Controlador de usuario