CakePHP使用参数调用组件构造函数

时间:2012-08-29 05:51:28

标签: constructor components cakephp-2.1

我正在使用cakephp 2.1版本,并创建了一个如下的GoogleApiComponent组件。

class GoogleApiComponent extends Component {
  public $client;
  public $analytics;
  function __construct($prompt = null) {
      $this->client = new apiClient();
      $this->client->setApprovalPrompt($prompt);
      $this->analytics = new apiAnalyticsService($this->client);
  }

}

然后在AppController中,我包含了上面的组件。

public $components = array('GoogleApi');

用户登录后,我必须检查AppController的beforeFilter()方法中的一些条件,并根据条件我必须更改GoogleAPiComponent构造函数的参数。 那怎么做呢?工作更有意义..

1 个答案:

答案 0 :(得分:1)

您可以将$settings数组传递给组件。

请参阅http://book.cakephp.org/2.0/en/controllers/components.html#configuring-components

在组件内部,您可以通过$this->settings

访问阵列