Buenos días, soy nuevo en Laravel e intentando actualizar mis conocimientos, tengo un problema con namespaces de modelos, el framework no consigue las direcciones en app\, ninguno de los modelos creados, en Tinker intenté utilizarlos con \app\Recibo::all() y no los consigue, pero con Recibos::all() si funciona. Qué debo cambiar para que el Framework encuentre mis modelos? Gracias de antemano.
Hola que tal Jaime, ¿cómo estás?
Se me hace que el nombre de tu clase no coincide con el nombre del archivo en tu folder `"app"`, tu archivo `app/Recibo.php` debería contener algo como esto:
```
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
// Nota aquí que "Recibo" coincide exactamente con el nombre del archivo
class Recibo extends Model {
}
```
De esta forma ya estando en Tinker podrías hacer algo como:
```
$ php artisan tinker
>>> namespace App;
>>> Recibo::all();
```
Saludos.
Buenas tardes Alex, un honor. Eso debe ser, mi archivo Recibo.php tiene como primer parámetro namespace sisResaurora; Eso lo creó automático laravel, pero yo debo haber cambiado algo en un archivo de configuración para que el framework hiciera eso, y de verdad, no recuerdo. Gracias por la pronta respuesta y por tus cursos.
Hola Jaime, un placer estar en contacto.
Ah ya veo, sí de hecho el namespace de Laravel se puede cambiar; al final de cuentas Laravel usa las recomendaciones de PHP llamadas PSR-4 que especifícan cómo cargar "paquetes" de PHP: [https://www.php-fig.org/psr/psr-4/](https://www.php-fig.org/psr/psr-4/).
Ahora bien, esa configuración se hace a nivel del archivo `composer.json`, si lo abres deberían haber unas líneas como estas:
```
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
```
Si notas, ahí precisamente se dice qué paquetes usaremos con el `autoloader`.
Saludos.
Por favor inicia sesión para participar en esta pregunta
Esta pregunta fue publicada hace hace 6 años por Jaime y tiene 3 respuestas.