我写了CTestCommand extends CConsoleCommand
需要致电getState
或setState
或CWebUser
的{{1}}和CUserIdentity
我不知道它是使用CWebUser
还是CUserIdentity
但是当我在控制台中运行./yiic test
时。打印出来
PHP Fatal error: Call to undefined function user()
我的代码是
user()->getState('site_id')
我在网络浏览器中运行时没关系。但它无法在命令中运行 我的配置文件是
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'My Console Application',
'import'=>array(
'ext.*',
'application.models.*',
'application.components.*',
'ext.mailer.*',
),
有什么想法吗?
答案 0 :(得分:1)
Yii控制台应用程序通常没有用户组件,或者 - 就此而言 - 配置了会话组件。虽然您可以在protected/config/console.php
中配置用户,但我不确定您是否可以对会话执行相同的操作。毕竟,会话是一个需要cookie才能运行的网络。
答案 1 :(得分:0)
您是否依赖定义user()
方法的全局函数文件?该文件是否包含在您的控制台配置中?