Skip to content
docsv0.19.0

HttpRouteModel

Una operación vista desde HTTP: el verbo, la ruta y qué política exige. Vive en `milpa/command` y no junto a su projector por una razón medida: `HttpProjector` importa `milpa/auth` —37 referencias, todas en su mitad de enforcement— y ese paquete está fuera del piso mínimo del framework. El MODELO, en cambio, es sólo datos de ruta y no necesita nada. Separarlos permite que cualquiera lea qué rutas expone una operación sin arrastrar identidad. Que aquí aparezcan `scopes` y `permission` no contradice eso: son lo que la operación DECLARA, no lo que alguien verifica. Declarar es del modelo; verificar es de otra capa, y desenredar esa distinción dentro de `HttpProjector` es lo que falta (P13.3).

HttpRouteModel::__construct()

public function __construct(string $method, string $path, string $name, array $scopes = [], ?string $permission = null):

Parameters

Parameters of __construct()
NameTypeDescription
$methodstring
$pathstring
$namestring
$scopeslist<string>
$permission?string

HttpRouteModel::surface()

public function surface(): string

La superficie de este modelo — `http`.

HttpRouteModel::toArray()

public function toArray(): array

El modelo como datos planos: lo que una tabla de rutas, un cliente generado o un diff entre versiones del API necesitan leer sin montar la superficie.