Ir para conteúdo
Fórum Script Brasil

Nelson Junior Dias

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Nelson Junior Dias

  1. 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?

×
×
  • Criar Novo...