我是PHP Phalcon的新手,我正在创建一个简单的REST API后端,现在我遇到了一个问题。如何为Phalcon Micro框架添加全局可访问变量?
//define $app in index.php
$app = new Micro($di) ;
在一个控制器中,我试图至少在控制器之间定义(添加)全局可访问变量。
//However, the followings are all not working.
$this->currentWeixinAccessToken = $access_token ;
$this->getDI()->setShared('currentWeixinAccessToken', $access_token);
$this->$currentWeixinAccessToken = $access_token;
$this->di->setShared('currentWeixinAccessToken', $access_token) ;
他们能够无差错地定义,但是当我使用他们的另一个控制器,
$access_token = $this->currentWeixinAccessToken;
的错误是,
[Sat Jul 30 22:10:20 2016] PHP Notice: Access to undefined property currentWeixinAccessToken in /home/tom/src/phalcontest/app/controllers/PostsController.php on line 48
而且我发现一些答案在这里,但他们不适合我。 Cross controller variables in Phalcon
如果控制器B扩展控制器A,这应该工作。但是按照你描述的方式,这是不可能的。我猜你正在寻找类似Sessions的行为,但不完全;) 如果该变量被添加到$ di,您将能够访问它。 –
是的,它会喜欢会话行为,但是这个变量在所有会话中都是相同的/ –
其他控制器(后控制器)是否从相同请求访问它?或者它是在另一页 –