Manejo de dominios/subdominios y agrupar rutas en funciones en Laravel

Por aquí quería mostrarte dos cositas muy interesantes y con esto varias cositas agregadas que serían cómo manejar tu aplicación en Laravel el con sub Dominos o también dominios puedes manejarlo de igual manera ya que es indiferente y lo otro es las ventajas que tenemos para agrupar aquí en nuestras rutas tal cual está viendo que yo tengo aquí una función que simplemente tiene un montón de rutas agrupadas Entonces eso es lo que yo quiero hablar y más o menos vas a ver por qué estoy tratando todo esto en un video ahorita que veas mi implementación esto obviamente es el proyecto de Academia que yo tengo del desarrollo Libre como lo quieras ver y vamos a hablar un poquito sobre lo que estoy haciendo como como yo te he comentado yo ahí tengo tres módulos:

  1. El de Academia que, que es la web de cursos y libros
  2. También tengo el de dashboard
  3. Y también tengo lo que es el blog

Para esto yo bueno para el de Academia como puedes ver es un subdominio y también el dashboard lo manejo con un subdominio:

if (config('app')['app_route'] == 'production') {
    Route::domain('academy.desarrollolibre.net')->group(function () {
        Route::get('/{n1?}/{n2?}/{n3?}/{n4?}', [AcademyController::class, 'index'])->name('course-vue');
    });
    Route::get('/academia', function () {
        return redirect('https://academy.desarrollolibre.net/');
    });
} else {
    Route::get('academia/{n1?}/{n2?}/{n3?}/{n4?}/{n5?}/{n6?}', [AcademyController::class, 'index'])->name('course-vue');
}

Dominios y subdominios

Entonces por aquí vamos a ver cómo es la operación por aquí tenemos es tan sencillo un tipo de ruta llamado domain en el cual nosotros podemos colocar ya sea un dominio o un subdominio que justamente lo que yo estoy colocando por acá tal cual puedes ver simplemente coloco aquí el subdominio y poco más que decir realmente por aquí a la final esto como es la de Vue entonces lo que hago el truquito entre comillas que coloco aquí opcionales para precisamente manejar el el ruteado:

Route::get('academia/{n1?}/{n2?}/{n3?}/{n4?}/{n5?}/{n6?}', [AcademyController::class, 'index'])->name('course-vue');

Es decir por ejemplo aquí entro a libros o un detalle:

https://academy.desarrollolibre.net/libros

https://academy.desarrollolibre.net/libro/visor/laravel/

Entra por la ruta anterior como parámetros opcionales.

Fíjate también otro punto interesante que recuerda que también la aplicación por más que sea la tengo que desarrollar por tal motivo yo en local me da mucho fastidio estar creando subdominios y demás por lo tanto yo lo manejo de la manera clásica que sería aquí colocar directamente preguntar por el ambiente de si estamos en desarrollo a producción para emplear el esquema de dominios o subdominios o directamente una ruta.

Administrar

Aquí puedes colocar ya sea un dominio o un subdominio en caso de que te preguntes cómo puedes administrar los subdominios te puedo decir que bueno Eso ya depende obviamente de tu Hosting en tu Hosting seguramente tienes una opción ahí de subdominio y por lo demás ese subdominio lo administras como si fuera un dominio por lo tanto seas lo que seas que existe para El dominio tienes que replicarlo con el subdominio en mi caso en particular yo tenía o en hostinger tú lo que tienes que hacer es que apuntes siempre a la carpeta public por lo tanto esa fue la misma configuración que hice por aquí para subdominio simplemente que apunte la carpeta public y poco más ya que a la final laravel es que se encarga de definir aquí las rutas por nosotros aquí como te digo no hay mucho que hacer porque toda es la aplicación en Vue por lo tanto aquí solamente tengo una sola ruta.

function routesDashboard()
{
   Route::get('/', function () {
       return redirect()->route("post-list");
   });
***
}

Agrupar rutas en funciones

Vamos a ver la del admin por ejemplo la del admin sí tiene un poco más de sentido porque es la parte de administración Es decir el listado de post de categorías o los cl de post categorías libros tutoriales clases el montón de cosas que tengo ahí y por lo tanto son un conjunto de rutas aquí otra vez al emplear los subdominios es decir en ambiente desarrollo Yo quiero el como quien dice lo normal que es simplemente colocar en mi dominio de pruebas Slash admin pero yo aquí también en producción yo utilizo un subdominio para el dashboard por lo tanto aquí s sí tiene sentido que yo emplee este tipo de agrupamientos mediante funciones por ejemplo en vez de colocar todas las rutas acá ya que esto a la final si vemos es simplemente un montón de rutas es decir en vez de colocar todo esto de manera directa y estar replicando en ambos lados Simplemente yo creo una función con todas las ventajas que esto nos trae en el cual se encuentren ese montón de rutas y simplemente las utilizo aquí son rutas normalitas simplemente con Group rutas de tipo get post p pad delete todo lo que tú quieras crear lo mismo que hacemos en el curso de Laravel en el curso básico de Laravel o todos los cursos del árabe o cualquier cosa del árabe que hagas por ahí son simplemente rutas y de esta forma las puedes reutilizar fácilmente esto obviamente lo puedes colocar en cualquier otro archivo que tú consideres en caso de que quieras mantener una mejor organización puedes crearte aquí no sé eh web dashboard web em tutorial y o web directamente blog o web academia lo que sea y simplemente las importas y las utilizas Pero bueno ya para mí como no son tantas rutas Tampoco yo lo manejo de esta forma y aquí los puedo agrupar facilito y simplemente las invoco en donde yo considere tal cual estás viendo en este caso en base a la misma condición que te presentaba antes para el de Academia si estamos en producción Yo quiero emplear el subdominio y lo mismo que me redireccione al subdominio se coloco admin Y si estoy en desarrollo entonces bueno no me importa lo utilizo todo desde el mismo dominio de pruebas entonces ya con eso te presenté el esquema que yo utilizo para manejar subdominios o dominios y también la agrupación de rutas que tiene todo el sentido del mundo sobre todo cuando estás trabajando con subdominios y dominios y también quieres mantener tu esquema normalito sencillo cuando estás desarrollando la aplicación.

- Andrés Cruz

In english

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.

!Cursos desde!

10$

En Udemy

Quedan 3d 08:50!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!