Crear y Ejecutar un Proyecto Laravel
¿Qué es Laravel?
Laravel es un framework web de PHP de código abierto creado por el desarrollador de PHP Taylor Otwell. Su objetivo es proporcionar a los desarrolladores una herramienta limpia y elegante para construir aplicaciones web modernas. Laravel ofrece un conjunto rico de características, como enrutamiento, sesión, caché, autenticación, etc., que simplifican las tareas comunes de desarrollo web.
Características Principales y Ventajas de Laravel
- Simplicidad y Elegancia: La sintaxis de Laravel es simple y elegante, haciendo que el código sea más legible y mantenible.
- Conjunto Rico de Características: Incluye enrutamiento, autenticación, gestión de sesiones y caché, simplificando significativamente el proceso de desarrollo.
- ORM Poderoso: Eloquent ORM proporciona una implementación simple de ActiveRecord para operaciones de base de datos.
- Diseño Modular: Integra fácilmente bibliotecas y extensiones de terceros a través del gestor de paquetes Composer.
- Fuerte Soporte Comunitario: Gran comunidad de desarrolladores y rico ecosistema.
Laravel ayuda a los desarrolladores a construir rápidamente aplicaciones web y APIs de alta calidad, adecuadas para proyectos de todos los tamaños, desde pequeñas aplicaciones hasta grandes sistemas a nivel empresarial.
Crear y Ejecutar un Proyecto Laravel con ServBay
En este artículo, usaremos el entorno PHP de ServBay para crear y ejecutar un proyecto Laravel. Utilizaremos la característica 'Host' de ServBay para configurar el servidor web y acceder al proyecto a través de una configuración simple.
Nota: Si anteriormente eras usuario de NGINX o Apache
ServBay usa Caddy como servidor web predeterminado. Hay algunos cambios clave a tener en cuenta para los usuarios que están en transición de NGINX y Apache a ServBay:
Configuración de Caddy
ServBay tiene Caddy integrado, y ya está optimizado y depurado por defecto. Los desarrolladores solo necesitan usar la característica 'Host' de ServBay para gestionar el sitio, sin necesidad de modificar manualmente los archivos de configuración de Caddy.
Reglas de Reescritura y .htaccess
En NGINX y Apache, los desarrolladores usualmente necesitan escribir sus propias reglas de reescritura y archivos .htaccess para manejar la reescritura de URL y otras configuraciones. Sin embargo, la configuración predeterminada de ServBay ya configura las reglas de Caddy, por lo que, a menos que haya requisitos especiales, los desarrolladores no necesitan escribir estas reglas por sí mismos.
Saber más
Para más información, por favor consulta Rewrite and htaccess, How to Migrate Apache Sites to ServBay, How to Migrate NGINX Sites to ServBay.
Crear un Proyecto Laravel
TIP
ServBay recomienda a los desarrolladores colocar el sitio web en el directorio /Applications/ServBay/www
para una gestión sencilla.
Instalar Composer
ServBay viene con Composer preinstalado, no es necesario una instalación por separado.
Crear un Proyecto Laravel
Usa Composer para crear un nuevo proyecto Laravel:
bashcd /Applications/ServBay/www mkdir servbay-laravel-app cd servbay-laravel-app composer create-project --prefer-dist laravel/laravel .
1
2
3
4Entrar en el Directorio del Proyecto
Navega al directorio del proyecto Laravel recién creado:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Configuración Inicial
Generar Clave de la Aplicación
Laravel requiere una clave de aplicación para garantizar la seguridad de las sesiones de usuario y otros datos encriptados. Puedes generar una clave de aplicación usando el comando Artisan:
bashphp artisan key:generate
1Configurar Variables de Entorno
Configura la información de conexión a la base de datos y otras variables de entorno en el archivo
.env
. Asegúrate de que las siguientes configuraciones estén correctamente establecidas:APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Configuración del Servidor Web
Usa la característica 'Host' de ServBay para acceder al proyecto Laravel a través del servidor web. En la configuración de 'Host' de ServBay, añade un nuevo host:
- Nombre:
My First Laravel Dev Site
- Dominio:
servbay-laravel-test.local
- Tipo de Sitio Web:
PHP
- Versión de PHP: Elige
8.3
- Directorio Raíz del Sitio Web:
/Applications/ServBay/www/servbay-laravel-app/public
Para pasos detallados, por favor consulta Adding the First Website.
Añadir Código de Ejemplo
Añade el siguiente código al archivo routes/web.php
para mostrar "Hello ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Accediendo al Sitio Web
Abre un navegador y visita https://servbay-laravel-test.local
, verás la página con el mensaje Hello ServBay!
.
Ejemplo de Base de Datos NoSQL
Ejemplo de Memcached
Instalar Extensión de Memcached
En ServBay, la extensión de Memcached viene preinstalada, no es necesaria una instalación adicional.
Configurar Memcached
Configura la información de conexión de Memcached en el archivo
.env
:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Usar Memcached
Usa caché en las rutas
routes/web.php
:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6Abre un navegador y visita
https://servbay-laravel-test.local/memcached
Ejemplo de Redis
Instalar Extensión de Redis
En ServBay, la extensión de Redis viene preinstalada, por lo que no necesitas instalarla adicionalmente.
Configurar Redis
Configura la información de conexión de Redis en el archivo
.env
:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4Usar Redis
Usa caché en las rutas
routes/web.php
:phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6Abre un navegador y visita
https://servbay-laravel-test.local/redis
Ejemplo de Base de Datos Relacional
Creación de Estructura de Base de Datos y Archivos de Migración
Ejemplo de MySQL
Configurar MySQL
Configura la información de conexión de MySQL en el archivo
.env
:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Crear Archivo de Migración
Usa el comando Artisan para crear un archivo de migración:
bashphp artisan make:migration create_accounts_table
1Editar Archivo de Migración
Encuentra el archivo de migración recién creado en el directorio
database/migrations
y edítalo para definir la estructura de la tabla de la base de datos:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9Ejecutar Migración
Usa el comando Artisan para ejecutar la migración y crear la tabla de la base de datos:
bashphp artisan migrate
1Insertar Datos de Cuenta
Inserta datos de cuenta en las rutas
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Usar MySQL
Consulta la base de datos en las rutas
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6Abre un navegador y visita
https://servbay-laravel-test.local/mysql-add
yhttps://servbay-laravel-test.local/mysql
Ejemplo de PostgreSQL
Configurar PostgreSQL
Configura la información de conexión de PostgreSQL en el archivo
.env
:DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Crear Archivo de Migración
Usa el comando Artisan para crear un archivo de migración:
bashphp artisan make:migration create_accounts_table
1Editar Archivo de Migración
Encuentra el archivo de migración recién creado en el directorio
database/migrations
y edítalo para definir la estructura de la tabla de la base de datos:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9Ejecutar Migración
Usa el comando Artisan para ejecutar la migración y crear la tabla de la base de datos:
bashphp artisan migrate
1Insertar Datos de Cuenta
Inserta datos de cuenta en las rutas
routes/web.app
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Usar PostgreSQL
Consulta la base de datos en las rutas
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6Abre un navegador y visita
https://servbay-laravel-test.local/pgsql-add
yhttps://servbay-laravel-test.local/pgsql
Siguiendo los pasos anteriores, has creado y ejecutado un proyecto Laravel exitosamente, gestionado y accedido a tu proyecto usando las características de ServBay, conectado a múltiples bases de datos y consultado datos.