Crear y Ejecutar un Proyecto Laravel
¿Qué es Laravel?
Laravel es un marco de trabajo PHP de código abierto creado por el desarrollador PHP Taylor Otwell. Está dedicado a proporcionar a los desarrolladores un conjunto de herramientas sencillo y elegante para construir aplicaciones web modernas. Laravel ofrece una gran cantidad de características, como enrutamiento, sesiones, caché, autenticación, etc., simplificando tareas comunes de desarrollo web.
Principales Características y Ventajas de Laravel
- Sencillez y Elegancia: La sintaxis de Laravel es sencilla y elegante, lo que hace que el código sea más legible y mantenible.
- Amplias Funcionalidades: Incluye enrutamiento, autenticación, gestión de sesiones y caché, lo que simplifica enormemente el trabajo de desarrollo.
- Poderoso ORM: Eloquent ORM ofrece una implementación sencilla de ActiveRecord para facilitar las operaciones con bases de datos.
- Diseño Modular: A través del administrador de paquetes Composer, es fácil integrar bibliotecas y extensiones de terceros.
- Robusto Soporte Comunitario: Tiene una gran comunidad de desarrolladores y un ecosistema rico.
Laravel puede ayudar a los desarrolladores a construir aplicaciones web y APIs de alta calidad rápidamente, adecuado para proyectos de cualquier tamaño, desde aplicaciones pequeñas hasta grandes sistemas empresariales.
Crear y Ejecutar un Proyecto Laravel con ServBay
En este artículo, utilizaremos el entorno PHP proporcionado por ServBay para crear y ejecutar un proyecto Laravel. Usaremos la función 'host' de ServBay para configurar el servidor web y acceder al proyecto con una configuración simple.
Atención: si alguna vez has sido usuario de NGINX o Apache
ServBay utiliza por defecto Caddy como servidor web. Para los usuarios que migran de NGINX y Apache a ServBay, hay algunos puntos clave a tener en cuenta:
Configuración de Caddy
ServBay ya tiene Caddy integrado, y la configuración predeterminada está optimizada y depurada. Los desarrolladores solo necesitan usar la función 'host' de ServBay para gestionar los sitios, sin necesidad de modificar manualmente los archivos de configuración de Caddy.
Reglas de Reescritura y .htaccess
En NGINX y Apache, los desarrolladores normalmente tienen que escribir sus propias reglas de reescritura y archivos .htaccess para manejar la reescritura de URL y otras configuraciones. Sin embargo, ServBay ya ha configurado las reglas de Caddy de fábrica, por lo que, a menos que haya necesidades especiales, los desarrolladores no necesitan escribir estas reglas por sí mismos.
Saber Más
Para más información, consulta Reglas de reescritura y htaccess, Cómo migrar un sitio Apache a ServBay, Cómo migrar un sitio NGINX a ServBay.
Crear Proyecto Laravel
TIP
ServBay recomienda que los desarrolladores coloquen los sitios web en el directorio /Applications/ServBay/www
para facilitar la gestión.
Instalar Composer
ServBay viene con Composer preinstalado, no se necesita una instalación adicional.
Crear Proyecto Laravel
Usando 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
Entra en el directorio del nuevo proyecto Laravel:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Configuración Inicial
Generar la Clave de la Aplicación
Laravel necesita una clave de aplicación para asegurar las sesiones de los usuarios y otros datos cifrados. Puedes generar una clave de aplicación usando el comando Artisan:
bashphp artisan key:generate
1Configurar Variables del Entorno
Configura la información de conexión a la base de datos y otras variables del entorno en el archivo
.env
. Asegúrate de que la siguiente configuración esté establecida correctamente: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
Configurar el Servidor Web
Usa la función '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:
Mi Primer Sitio Dev de Laravel
- Dominio:
servbay-laravel-test.local
- Tipo de Sitio:
PHP
- Versión de PHP: selecciona
8.3
- Directorio Raíz del Sitio:
/Applications/ServBay/www/servbay-laravel-app/public
Para los pasos detallados de configuración, consulta Añadir el Primer Sitio Web.
Añadir Código de Ejemplo
En el archivo routes/web.php
añade el siguiente código para mostrar "¡Hola ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Acceder al Sitio Web
Abre el navegador y visita https://servbay-laravel-test.local
, deberías ver Hello ServBay!
en la página web.
Ejemplo de Base de Datos NoSQL
Ejemplo de Memcached
Instalar Extensión Memcached
En ServBay, la extensión Memcached ya está preinstalada, no es necesario instalarla por separado.
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 la caché en el controlador:
phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6
Ejemplo de Redis
Instalar Extensión Redis
En ServBay, la extensión Redis ya está preinstalada, no es necesario instalarla por separado.
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 la caché en el controlador:
phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6
Ejemplo de Base de Datos Relacional
Crear Estructura de Base de Datos y Archivos de Migración
Crear 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 nuevo archivo de migración 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 Migraciones
Usa el comando Artisan para ejecutar las migraciones y crear la tabla de la base de datos:
bashphp artisan migrate
1
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
6Insertar Datos de Usuario
Inserta datos de usuario en el controlador:
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
Llama a la base de datos en el controlador:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
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
6Insertar Datos de Usuario
Inserta datos de usuario en el controlador:
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
Llama a la base de datos en el controlador:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
A través de estos pasos, habrás creado y ejecutado con éxito un proyecto Laravel, usando las funcionalidades proporcionadas por ServBay para gestionar y acceder a tu proyecto, mientras conectas varias bases de datos y consultas datos.