Cita:
Iniciado por GatorV Desconozco a que te refieres con el "setup" pero pues debes de instanciarlas donde las necesites es la base de POO, si no instancias una clase no la puedes utilizar (a menos que sea una clase estática)
En un principio dijiste esto:
Cita: // en otro file donde hagas el setup
$db = new Db(/* datos */);
$user = new User();
$user->setDb($db);
*
// Donde uses $user
$user->algo();
Imagino que es donde se haría el include, que ahora es la carga automatizada con spl_autoload_register(). No haría falta instanciarla en ese "setup" que podemos llamar common.php, ¿no? Pues no va a ser utilizada ahí, sólo en algunas funciones de algunas clases.
También, para no instanciar en todas las funciones, se podría crear una función para instanciar automáticamente?
Sería algo como:
Código PHP:
Ver originalClass User
{
private $security;
private $core;
function &getInstance()
{
$this->ext->security = new Security;
$this->ext->core = new Core;
}
function getData()
{
$user_id = $this->ext->security->string($_POST['uid']);
}
// O bien
function security_class()
{
return new Security;
}
function getData2()
{
$user_id = $this->security_class->string($_POST['uid']);
}
}
O un constructor... donde dice string sería una función de la clase security, mientras que $this->ext->security es la instancia de la clase "Security". ¿Sería posible?