我正在使用 CakePHP 2.3.0,我需要能够在我的应用程序中的任何地方(来自控制器和模型)使用对象(记录器)。
该对象在 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)。
所以我需要:
- 了解如何从模型访问控制器属性(记录器)
- 或实现此目的的另一种方法(创建一个随处可访问的全局对象),而不是使用
AppController->beforeFilter()
谢谢