cakehp:访问同一控制器中的一个变量,但函数不同



我希望访问cakephp中的一个变量,该变量在作用域中是全局的,也就是说,它在同一个控制器中,但函数不同。代码:

homeController.php

    public function opauth_complete() {
    //global $facebook_data;
    $this->facebook_data = $this->data;
     debug($this->facebook_data); // returns data
    $this->redirect(array('controller' => 'home', 
                          'action' => 'user_home'));
}
public function user_home()
{
   // i wish to use $facebook_data here.
debug($this->facebook_data); // returns null
}

如何在不使用会话的情况下实现此功能?

您可以将其存储在会话中

class HomeController extends Controller {        
    public function opauth_complete() {
      //assign the value
      $this->Session->write("facebook_data", $this->data);
     debug($this->facebook_data); // returns data
      $this->redirect(array('controller' => 'home', 
                          'action' => 'user_home'));
    }
    public function user_home() {
       //read from session
    debug($this->Session->read("facebook_data")); // returns data
    }
...
App::uses('AppController', 'Controller');
class UsersController extends AppController {
   private $FbData = array();
   public function opauth_complete() {
      $this->FbData = $this->data;
   }
   public function user_home(){
      debug($this->FbData); 
   }
}

在beforeFilter()中设置变量,您可以在控制器中的任何地方使用

相关内容

  • 没有找到相关文章

最新更新