Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
5 Hrs
50 Min
49 Seg

Front Controller

4/14
Recursos

Aportes 36

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cuando recién comenzaba con PHP y no había nadie que me guiara, recuerdo que aprendí a hacer mi propio sistema de peticiones y respuestas, y todo pasaba siempre por el index.php y me sentía genial por haber descubierto una nueva forma de programar… hasta el día de hoy me vengo a dar cuenta que eso que hice se llama “Front Controller” xD

Front Controller


Es un patrón que nos ayuda a solucionar el problema de acceso único en la web. Este se utiliza para proporcionar un mecanismo centralizado para manejar solicitudes, todas las solicitudes son procesadas por un solo controlador. El controlador puede realizar la autenticación / autorización / registro o solicitud de seguimiento, entonces la petición al controlador adecuado.

En este caso, vamos a lograr que todos pase a través de index.php, así centralizaremos los accesos. Además, ya no necesitaremos tener un sistema lleno de include para incluir cabeceras o footers.

📁 Cuando nos referimos a rutas absolutas quiere decir que la ruta comienza en la raíz del directorio.

Esto es todo lo que contendrá el archivo index. Este va a cargar todo lo necesario, luego va a disponer de la clase Request porque lo registramos en composer, este va a ejecutar el método enviar.

<?php

require __DIR__ . '/../vendor/autoload.php';

// var_dump(__DIR__ . '/../vendor/autoload.php');

$request = new App\Http\Request;
$request->send();

Resumen: Básicamente es centralizar todas las peticiones.

front controller seria como la boca de la botella

__DIR__  es una ruta absoluta, lo que quiere decir que cominenza en la raíz y la construye completamente. ```

Después de haber trabajado con Laravel y haber hecho varios proyectos en el, apenas vengo a saber que así se llamaba el patrón: Front Controller.
Muchas gracias.

Se puede usar el servidor integrado de php desde la consola con el siguient comnado

php -S localhost:8000 -t public/

Sí estas usando laragon y no sabes porque entra a platzi.test y no a localhost/platzi es por la configuración de laragon, laragon automaticamente configura virtualhosts con el nombre de las carpetas que hay dentro de www . test (de hecho esto lo peudes cambiar).

Ahora para que el punto de entrada de tu app sea la carpeta public dentro de www/platzi, debes ir a la configuración de laragon, dando sengudo clic a donde dice web, luego apache, luego site-enable, luego buscas el que tieen nombre de tu carpeta te abrirar un archivo de cconfiguración, debes cambiar el parametro rootDirectory agregando al final /public/, luego guardas y reinicias el servidor, si estas usando XAMP y LAMP, deja de hacerlo, descarga laragon JAJAJA, mentira, cada quien, pero también se debe de poder mas o menos igual, solo busca la documentación.

Profe. Como levantó el servidor. He usado php 4 años, pero no he tenido que usar composer. Composer levanta el servidor?

Frontcontroller, centralizar todas las peticiones. Se ejecutan las clases propias de la peticon.

Ojo , pongan cuando estan configurando el auto carga tiene que ser así

“App\”; “app/”

Si descargas el código del curso te darás cuenta que está escrito “autolad” en vez de “autoload” lo que genera un error.

Perfect!

Para los que usan laragon y quieren entrar a la carpeta “public” sin escribirla en la url deben hacer lo siguiente:

  1. Abrir el archivo de conf del sitio que crearon para el proyecto

  2. Agregar “public/” al final de la variable ROOT

Front controller:

El primer paso es configurar el index para que todo pase a través de el.

Front Controller: Es un patrón que ayuda a solucionar el problema de acceso único a un sistema web.

Hola! He instalado Valet y tengo exactamente la misma estructura de directorios que en el ejemplo. He añadido la carpeta platzi con `valet park:` `➜ platzi valet park` `This directory has been added to Valet's paths.` pero siempre tengo 404 en la URL `platzi.test `aunque ponga un `var_dump()` en el archivo index.php (como en el ejemplo del video). ¿Me pueden indicar cómo configurarlo para ver la apñicación? Muchas gracias.

Fine.

index.php
<?php

require DIR . ‘/…/vendor/autoload.php’;

var_dump(DIR . ‘/…/vendor/autoload.php’);

$request = new App\Http\Request;
$request->send();

Salida del var_dump:
string(64) “C:\Apps\xampp\htdocs\frameworksphp\public/…/vendor/autoload.php”

A mi me gusta usar scripts personalizados para crear todas estas estructuras en apps desde cero, es mas rapido y no te complicas tanto pensando en como era la estructura

me hizo recordar los famosos include y require que lo usaba en todo , con este patrón veo que la cosa ya es mas seria.

Fron controller lo usa laravel , bien

hola

Excelente

Hola Buenos dias. Que gusto saludarlos, en las ruta relativas y las rutas absolutas, entiendo que es mucho mejor crear rutas absolutas porque inician desde la raíz. Entonces es mejor siempre usarlo así? y cuando pasamos desde nuestro entorno de desarrollo a producción a las rutas se les tendrá que hacer algún cambio?

Todo lo que pasa en el index, es el FrontController

Error: Apache no encuentra el index y te manda un Forbidden.

Si al entrar a tu servidor, te aparece Forbidden o que no se puede encontrar el archivo index.php porque ahora lo tienes en el directorio public, creas un .htaccess en la raíz del http o www, según la configuración de tu apache2 (si usas este) y en el archivo escribes:

DirectoryIndex public/index.php

Ya con eso podrás ingresar al index sin problema. Saludos.

Es un patrón que nos ayuda a solucionar el problema de acceso único a un sistema web. Con este patrón todas las peticiones pasan a través de index para centralizar el acceso a la web.

Front Controller
Basicamente el Font Controller es una forma de centralizar la entrada de datos al sistema (requests y responses), en este caso se hace por medio del archivo index.php

<?php
require __DIR__.'/../vendor/autoload.php';

$request = new App\Http\Request;
$request->send();

Interesante clase…

Front controller realizado

Para ingresar debo escribir (servidor remoto):
https://xxx.xxx.xxx.xxx/platzi/public/
¿En que curso puedo aprender a direccionar como lo hace Italo? para entrar directamente a https://xxx.xxx.xxx.xxx/

<?php

require __DIR__.'/../vendor/autoload.php';

$request = new App\Http\Request();
$request->send();

front controller seria como la boca de la botella