Espera un momento ...
¿Te gustaría llevar mi curso de Laravel, gratis?
Sólo debes ingresar tus datos:
En Laravel 5, todo el contenido de la carpeta app
se carga de forma automática usando PSR-4.
Esto lo podemos ver en el archivo composer.json
:
"psr-4": {
"App\\": "app/"
}
Esto significa que podemos crear nuestras clases dentro de app
, y éstas serán reconocidas inmediatamente (incluso si no se trata de un modelo, controlador, middleware, evento, etcétera).
Por ejemplo, puedo crear un archivo en la siguiente dirección:
app/Custom/MyClass.php
Sólo debo asegurarme de usar el namespace adecuado dentro de MyClass.php
:
<?php namespace App\Custom;
class MyClass
{
/* métodos y/o atributos */
}
Y eso es todo. Ahora puedo usar esta clase desde cualquier contexto.
Por ejemplo, si lo quiero usar desde un controlador, entonces en la parte superior añadiría:
use App\Custom\MyClass;
A tener en cuenta:
Por cierto: no estamos limitados a la carpeta app
.
Es decir, podemos tener muchas carpetas aquí, en distintos niveles. Pero si de pronto nuestra aplicación crece mucho y queremos organizar todo en base a módulos (u otro enfoque), podemos crear carpetas al mismo nivel que la carpeta app.
Para ello hemos de aplicar PSR-4 a estas nuevas carpetas. Por ejemplo:
"psr-4": {
"App\\": "app/",
"Blog\\": "blog/",
"Dashboard\\": "dashboard/"
}
Y así dentro de blog
y dashboard
podríamos tener carpetas para nuestros modelos, servicios, interfaces, etcétera.
En este último caso, será necesario ejecutar composer dump-autoload
.
CvHandler.php
al interior de esta carpeta.composer.json
:
"psr-4": {
"App\\": "app/",
"Tawa\\": "tawa/"
}
Definí la clase CvHandler
del siguiente modo:
<?php namespace Tawa\Services;
class CvHandler
{
public function sayHello()
{
return 'hi';
}
}
composer dump-autoload
.php artisan tinker
), para verificar que funcione la nueva clase.Este paso 6 demuestra que lo que hicimos es factible, y nuestras clases estarán disponibles en nuestro proyecto siempre que usemos el namespace adecuado.
Comparte este post si te fue de ayuda 🙂.
Regístrate
Accede a todos los cursos, y resuelve todas tus dudas.
Cursos Recomendados
Aprende Laravel desde cero y desarrolla aplicaciones web reales, en tiempo récord, de la mano de Laravel.
Iniciar cursoActualiza tus proyectos desde cualquier versión hasta la última versión estable de Laravel.
Iniciar cursoDesarrollemos un Messenger! Aprende sobre Channels, Queues, Vuex, JWT, Sesiones, BootstrapVue y mucho más.
Iniciar cursoEspera un momento ...
¿Te gustaría llevar mi curso de Laravel, gratis?
Sólo debes ingresar tus datos: