abstract class Bootstrap
{
public function __construct(){
$this->initRoutes();
$this->rum($this->getUrl());
}
private $routes;
abstract protected function initRoutes();
protected function rum($url){
array_walk($this->routes,function ($route) use($url) {
if($url == $route['route']){
$class = "App\\Controllers\\".ucfirst($route['controller']);
$controller = new $class;
$controllers = $controller->$route['action'];
$controllers(); // Will not work on PHP7.
}
});
}
protected function setRoutes(array $routes){
$this->routes = $routes;
}
protected function getUrl(){
return parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH);
}
}
Essa function rum funcionava na versão php 5.6 e não funciona na versão 7.3 (da erro de Array to string conversion) quando o array_walk está tentando construir uma função nomeada pelo argumento funcname (nome da rota) em cada elemento de array que é utilizada no controller para renderizar a views após instanciado a classname controller.
Alguém sabe como converter esse código para o php 7.3?
Pergunta
Nelson Junior Dias
Essa function rum funcionava na versão php 5.6 e não funciona na versão 7.3 (da erro de Array to string conversion) quando o array_walk está tentando construir uma função nomeada pelo argumento funcname (nome da rota) em cada elemento de array que é utilizada no controller para renderizar a views após instanciado a classname controller.
Alguém sabe como converter esse código para o php 7.3?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.