CakePHP:从Model访问AppController

时间:2013-02-23 11:25:35

标签: php cakephp

我正在使用CakePHP 2.3.0,我需要能够在我的应用程序中使用对象(Logger)(来自控制器和模型)。

此对象在AppController中创建,如下所示:

<?php
App::uses('Controller', 'Controller');
App::uses('Logger', 'Lib');

class AppController extends Controller {
    public function beforeFilter(){
        $this->Logger = new Logger(APP.'webroot/logs');
    }
}
?>

这适用于控制器,我可以在应用程序的每个控制器中使用此对象,这样:$this->Logger->...

但显然,它不适用于模型(因为模型不会扩展AppController)。

所以我需要:

  1. 了解如何从模型中访问控制器属性(Logger)
  2. 或实现此目的的另一种方式(创建可在任何地方访问的全局对象),而不是使用AppController->beforeFilter()
  3. 由于

1 个答案:

答案 0 :(得分:0)

坦率地说,你在做什么是绝对的废话。阅读cakephp手册中有关logging的章节,了解如何配置日志流以及如何写入日志流。