Ir para conteúdo
Fórum Script Brasil
  • 0

function rum not work after upgrade from php5 to 7.3


Nelson Junior Dias

Pergunta

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?

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...