Cita:
Iniciado por GatorV spl_autoload_register (sin parámetros) por defecto registra un autoloader compatible con [URL="https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md"][B]PSR-0[/B][/URL] que ya te había dicho desde un inicio.
Sí te da ese error deberías de publicar tu código o lo que estés haciendo ya que es claro, estas tratando de llamar a un método de un objeto en un no objeto, por eso te marca ese fatal error.
Saludos.
Sí, pero al parecer la dirección está mal porque no los incluye, pero de la forma que vi en php.net sí.
El código:
index.php
Código PHP:
Ver originalinclude('includes/common.php');
echo $Core->gethola();
common.php
Código PHP:
Ver original include(dirname(__FILE__) . '/clases/' . $clase . '.class.php'); });
$Core = new Core();
$User = new User();
core.class.php
Código PHP:
Ver originalClass Core
{
private $User;
public function setUser($User)
{
$this->user = $User;
}
public function gethola()
{
return $this->user->mifuncion();
}
}
user.class.php
Código PHP:
Ver originalClass User
{
private $Core;
public function setCore($Core)
{
$this->core = $Core;
}
public function mifuncion()
{
return 'Hola Mundo';
}
}
En esta también está core aunque no se use una función de dicha clase todavía, pero lo conservo porque si no existiera el error sí se usaría.
Si el 'Hola Mundo' estuviera en la función "gethola()" sí se mostraría, pero el error aparece cuando se llama a la función "mifuncion()" de otra clase, en este caso "User".
No uso namespaces, ya que en las pruebas tengo dos clases y nada más (además de que con él y sin él el error está). Cuando tengo un error mucho tiempo al final dejo de pensar con claridad.