首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到Yii2类

找不到Yii2类
EN

Stack Overflow用户
提问于 2015-07-16 01:51:18
回答 2查看 10.1K关注 0票数 2

我收到错误消息“Class... not found”,即使该类存在。该错误发生在yii\web\User类中的loginByAccessToken()方法中。你知道这是什么原因造成的吗?

代码语言:javascript
复制
public function loginByAccessToken($token, $type = null)
{
    /* @var $class IdentityInterface */
    $class = $this->identityClass;
    $identity = $class::findIdentityByAccessToken($token, $type); // <-- Error occurs here.  
    if ($identity && $this->login($identity)) {
        return $identity;
    } else {
        return null;
    }
}

以下是调试跟踪:

代码语言:javascript
复制
{
name: "PHP Fatal Error"
message: "Class 'common\models\User' not found"
code: 1
type: "yii\base\ErrorException"
file: "C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\web\User.php"
line: 266
stack-trace: [12]
0:  "#0 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\filters\auth\AuthMethod.php(50): yii\filters\auth\HttpBasicAuth->authenticate('???', '???', '???')"
1:  "#1 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\base\ActionFilter.php(71): yii\filters\auth\AuthMethod->beforeAction('???')"
2:  "#2 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\base\Component.php(541): yii\base\ActionFilter->beforeFilter('???')"
3:  "#3 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\base\Component.php(541): ::call_user_func:{C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\base\Component.php:541}('???', '???')"
4:  "#4 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\base\Controller.php(263): yii\base\Component->trigger('???', '???')"
5:  "#5 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\web\Controller.php(108): yii\base\Controller->beforeAction('???')"
6:  "#6 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\base\Controller.php(149): yii\web\Controller->beforeAction('???')"
7:  "#7 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\base\Module.php(455): yii\base\Controller->runAction('???', '???')"
8:  "#8 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\web\Application.php(84): yii\base\Module->runAction('???', '???')"
9:  "#9 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\vendor\yiisoft\yii2\base\Application.php(375): yii\web\Application->handleRequest('???')"
10:  "#10 C:\Bitnami\wampstack-5.5.26-0\apache2\htdocs\csplit\api\web\index.php(17): yii\base\Application->run()"
11:  "#11 {main}"
-
}
EN

回答 2

Stack Overflow用户

发布于 2015-07-16 01:59:23

两个可能的原因。

First如果您将应用程序从一个文件夹复制到另一个文件夹,或者如果您在一个文件夹中添加了一个扩展,然后将部分代码复制到另一个文件夹中,则需要在文件夹中执行composer update

Second控制User子句的名称空间,注意大小写。

票数 2
EN

Stack Overflow用户

发布于 2017-06-21 10:15:46

在更新所复制的类的命名空间之后。您可以在函数规则中编辑SignupForm类:

代码语言:javascript
复制
'targetClass' => '\common\models\User'

代码语言:javascript
复制
'targetClass' => 'app\models\User'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31437587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档