Este fragmento funciona
Código PHP:
class Request {
public function __construct() {
$this->argumentos = isset($_GET['url']) ? explode('/', $_GET['url']) : array() ;
$this->controlador = ($this->controlador = strtolower(array_shift($this->argumentos))) ? $this->controlador : 'index' ;
$this->metodo = ($this->metodo = strtolower(array_shift($this->argumentos))) ? $this->metodo : 'index' ;
}
public function controlador() {return $this->controlador;}
public function metodo() {return $this->metodo;}
public function argumentos() {return $this->argumentos;}
}
class Bootsrap {
public function run(Request $p) {
echo $p->controlador;
}
}
Bootsrap::run(new Request);
Pero como se va ejecutar siempre me gustaría dejarlo de la siguiente forma
Código PHP:
<?php
//Creo las 3 variables
global $controlador, $metodo, $argumentos;
$argumentos = isset($_GET['url']) ? explode('/', $_GET['url']) : array() ;
$controlador = ($controlador = strtolower(array_shift($argumentos))) ? $controlador : 'index' ;
$metodo = ($metodo = strtolower(array_shift($argumentos))) ? $metodo : 'index' ;
class miClase {
public function __construct() {
//Recupero las 3 variables
echo $controlador; //Notice: Undefined variable
echo $metodo; //Notice: Undefined variable
echo $argumentos; //Notice: Undefined variable
}
}
new miClase();
?>