Compare commits
2 Commits
eb27acf68e
...
b6555ee039
Author | SHA1 | Date | |
---|---|---|---|
b6555ee039 | |||
a641248453 |
@ -92,16 +92,18 @@ class Router {
|
|||||||
header('Location: '.static::basePath().substr($path,1));
|
header('Location: '.static::basePath().substr($path,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Añade un middleware a la última ruta usada.
|
* Añade un middleware a la última ruta usada.
|
||||||
* Solo se puede usar un middleware a la vez.
|
* Solo se puede usar un middleware a la vez.
|
||||||
*
|
*
|
||||||
* @param mixed $callback
|
* @param mixed $callback
|
||||||
|
* @param int $prioriry
|
||||||
*
|
*
|
||||||
* @return Router
|
* @return Router
|
||||||
* Devuelve un enlace estático.
|
* Devuelve un enlace estático.
|
||||||
*/
|
*/
|
||||||
public static function middleware($callback) : Router{
|
|
||||||
|
public static function middleware($callback, int $priority = null) : Router {
|
||||||
if (!isset(static::$last))
|
if (!isset(static::$last))
|
||||||
return new static();
|
return new static();
|
||||||
|
|
||||||
@ -112,12 +114,23 @@ class Router {
|
|||||||
$callback = 'Middlewares\\'.$callback;
|
$callback = 'Middlewares\\'.$callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($priority) && $priority <= 0)
|
||||||
|
$priority = 1;
|
||||||
|
|
||||||
|
if (is_null($priority) || $priority >= count(static::$$method[$index]['callback']))
|
||||||
static::$$method[$index]['callback'][] = $callback;
|
static::$$method[$index]['callback'][] = $callback;
|
||||||
|
else {
|
||||||
|
static::$$method[$index]['callback'] = array_merge(
|
||||||
|
array_slice(static::$$method[$index]['callback'], 0, $priority),
|
||||||
|
[$callback],
|
||||||
|
array_slice(static::$$method[$index]['callback'], $priority)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return new static();
|
return new static();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @return Neuron
|
* @return Neuron
|
||||||
* Devuelve un objeto que contiene los atributos:
|
* Devuelve un objeto que contiene los atributos:
|
||||||
* post - Donde se encuentran los valores enviados por $_POST.
|
* post - Donde se encuentran los valores enviados por $_POST.
|
||||||
@ -135,7 +148,7 @@ class Router {
|
|||||||
return $req;
|
return $req;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @return object
|
* @return object
|
||||||
* Devuelve un objeto con los datos recibidos en JSON.
|
* Devuelve un objeto con los datos recibidos en JSON.
|
||||||
*/
|
*/
|
||||||
@ -147,7 +160,7 @@ class Router {
|
|||||||
return (object) '';
|
return (object) '';
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Define los routers para el método GET.
|
* Define los routers para el método GET.
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
@ -165,7 +178,7 @@ class Router {
|
|||||||
return new static();
|
return new static();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Define los routers para el método POST.
|
* Define los routers para el método POST.
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
@ -183,7 +196,7 @@ class Router {
|
|||||||
return new static();
|
return new static();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Define los routers para el método PUT.
|
* Define los routers para el método PUT.
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
@ -202,7 +215,7 @@ class Router {
|
|||||||
return new static();
|
return new static();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Define los routers para el método DELETE.
|
* Define los routers para el método DELETE.
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
@ -220,7 +233,7 @@ class Router {
|
|||||||
return new static();
|
return new static();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Devuelve la ruta actual.
|
* Devuelve la ruta actual.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
@ -230,7 +243,7 @@ class Router {
|
|||||||
'/', strtok($_SERVER['REQUEST_URI'], '?'), 1);
|
'/', strtok($_SERVER['REQUEST_URI'], '?'), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Aplica los routers.
|
* Aplica los routers.
|
||||||
*
|
*
|
||||||
* Este método ha de ser llamado luego de que todos los routers hayan sido configurados.
|
* Este método ha de ser llamado luego de que todos los routers hayan sido configurados.
|
||||||
|
Loading…
Reference in New Issue
Block a user