PHPackages                             laton/framework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. laton/framework

ActiveProject[Framework](/categories/framework)

laton/framework
===============

A Web Framework

1.2(5y ago)012MITPHP

Since Feb 24Pushed 5y ago1 watchersCompare

[ Source](https://github.com/mbrianp05/laton-framework)[ Packagist](https://packagist.org/packages/laton/framework)[ RSS](/packages/laton-framework/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

Laton Web Framework
===================

[](#laton-web-framework)

### PHP 8 requerido

[](#php-8-requerido)

### Descargar

[](#descargar)

`git clone  https://github.com/mbrianp05/Laton.git` luego ubicate en la carpeta del proyecto y ejecuta `composer install`o tambien composer `create-project laton/framework ` y es exactamente lo mismo.

### Uso

[](#uso)

Abre la consola de xampp o cualquiera que tenga acceso al comando php y ejecuta (ubicado en la carpeta del proyecto) `php --server localhost:90 -t public`y abre el navegador en

### Empezando

[](#empezando)

***Los controladores se registran en map.php***

Un controlador se crea en `src/controller` y luce asi:

```
namespace App\Controller;

use Mbrianp\FuncCollection\Logic\AbstractController;
use Mbrianp\FuncCollection\Routing\Routing;
use Mbrianp\FuncCollection\Http\{Response, Request};
use Mbrianp\FuncCollection\Routing\Attribute\Route;

class ControllerName extends AbstractController
{
    #[Route('/', name: 'index')]
    public function method(): Response
    {
        // La vista se buscara en la carpeta que se defina en el .ini
        return $this->render('vista.php', ['param1' => 'hola']);
    }

    /**
     * Puedes injectar los parametros de la URL al metodo
     * Es obligartorio tiparlo como string y ponerle al parametro
     * el mismo nombre del parametro de la ruta
     *
     * Tambien por ejemplo puede injectar un objeto Request
     * para obtener lo enviado por POST o GET, etc
     *
     * O un objeto routing para generar rutas
     *
     * No importa el orden de los parametros, puedes alternarlos como quieras
     */
    #[Route('/{parametro}', name: 'index_con_parametro')]
    public function metodo2(string $parametro, Request $request, Routing $routing): Response
    {
        // Response here
    }

    /**
     * Si se indica una expresion regular dentro de  en el parametro de la ruta
     * significa que ese parametro debe cumplir con la expresion regular para que la ruta se active
     * si no cumple se dara un error 404
     */
    #[Route('/{nick}', name: 'profile')]
    public function rutaFiltrada(string $nick): Response
    {

    }
}
```

En la vista tienes acceso a las variables que pasaste en el controlador

```
