Para no duplicar código lo que hice fue:
1.- Crear una carpeta llamada config en la raíz del proyecto y dentro de el un archivo llamado database.php.
curso-introduccion-php
/app
/config
/database.php
/db
...
2.- CORTAR el código de Capsule de index.php y pegarlo en database.php, también es necesario COPIAR el código del Dotenv:
<?php
use Illuminate\Database\Capsule\Manager as Capsule;
$dotenv = new Dotenv\Dotenv(__DIR__ . '/..');
$dotenv->load();
$capsule = new Capsule;
$capsule->addConnection([
'driver' => getenv('DB_DRIVER'),
'host' => getenv('DB_HOST'),
'database' => getenv('DB_NAME'),
'username' => getenv('DB_USER'),
'password' => getenv('DB_PASS'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'port' => getenv('DB_PORT')
]);
// Make this Capsule instance available globally via static methods... (optional)
$capsule->setAsGlobal();
// Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher())
$capsule->bootEloquent();
3.- Agregar en el composer.json nuestro archivo database.php al autoload:
{
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": ["config/database.php"]
},
...
4.- Correr en nuestra terminal el siguiente comando composer dump-autoload
.
Y listo debería funcionar sin necesidad de tener el código de Capsule en index.php ni en console.php.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.