Pesquisar na Comunidade
Mostrando resultados para as tags ''parametro''.
Encontrado 1 registro
-
Pessoal estou com um dúvida terrivel não consigo checar os paramentros passados pela url ele sempre pagar anterior o que fazer? Vejam o codigo:: <?php class Rota { private $controlador = 'Paginas'; private $metodo = 'index'; private $parametros = []; public function __construct() { $url = $this->url() ? $this->url() : [0]; if (file_exists('../app/Controllers/' . ucwords($url[0] . 'php'))) { $this->controlador = ucwords($url[0]); unset($url[0]); } require_once '../app/Controllers/' . $this->controlador . '.php'; $this->controlador = new $this->controlador; if (isset($url[1])) { if (method_exists($this->controlador, $url[1])) { $this->metodo = $url[1]; unset($url[1]); } } $this->parametros = $url ? array_values($url) : []; call_user_func_array([$this->controlador, $this->metodo], $this->parametros); var_dump($this); } private function url() { $url = filter_input(INPUT_GET, 'url', FILTER_SANITIZE_URL); if (isset($url)) { $url = trim(rtrim($url, '/')); $url = explode('/', $url); return $url; } } } Minha class Paginas: <?php class Paginas{ public function sobre($id){ echo $id."<hr>"; } } O debug está me retornando: paginas _________________________________________________________________________________________________________________________________________________________________________________________ object(Rota)#1 (3) { ["controlador":"Rota":private]=> object(Paginas)#2 (0) { } ["metodo":"Rota":private]=> string(5) "sobre" ["parametros":"Rota":private]=> array(1) { [0]=> string(7) "paginas" } } url usada: http://localhost/minha_pagina/paginas/sobre Ele não deveria gerar um erro e pedir para que eu passasse mais um paramentro na url? Ao invés disso ele só me retorna o método paginas o que fazer?