Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Front Controller

4/14
Recursos

Aportes 34

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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 鈥淔ront 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/

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.

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.

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

鈥淎pp\鈥; 鈥渁pp/鈥

Perfect!

Para los que usan laragon y quieren entrar a la carpeta 鈥減ublic鈥 sin escribirla en la url deben hacer lo siguiente:

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

  2. Agregar 鈥減ublic/鈥 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.

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) 鈥淐:\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

Si descargas el c贸digo del curso te dar谩s cuenta que est谩 escrito 鈥渁utolad鈥 en vez de 鈥渁utoload鈥 lo que genera un error.

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