2010-08-27 99 views
0

目前我有我的控制器实例化模型类。每次我创建这个类时,我都需要在模型中设置登录用户的信息。我觉得有这样做的更优雅的方式,但我不知道该怎么办呢:-(如何引用实例化类

下面是代码示例:

$leadModel = new Application_Model_DbTable_Leads; 
$leadModel->user = $this->user; 

我想从我创建的模型里面做的是使用这样的事情(我知道这仅适用于正在扩展其他类的类)访问用户:

$user_id = $this::parent->user; 

非常感谢

+1

您可能想要了解依赖注射。可以说,传递模型需要的项目。 – jlindenbaum 2010-08-27 17:34:23

回答

2

这是usua

class Application_Model_DbTable_Leads { 
    public function __construct($user) { 
     $this->user = $user; 
    } 
} 

... 

$a = new Application_Model_DbTable_Leads($user); 

没有办法去实体化类的引用:使用构造参数LLY完成。

+1

可以使用http://us2.php.net/debug_backtrace函数查找对象引用,但绝对不应该这样做 – 2010-08-27 18:40:06