没有不值得去解决的问题,也没有不值得去学习的技术!

在 PHP 中,报错:”Class ‘weibo\\rests\\oauth2\\DateTime’ not found” 的分析与解决

作者:

在

, ,

1、在 Yii 2 中,报错:”Class ‘weibo\\rests\\oauth2\\DateTime’ not found”

PHP

$urlSigner->signParams($route, false, (new DateTime())->add(new DateInterval('PT1H')));

JSON

{
    "name": "Exception",
    "message": "Class 'weibo\\rests\\oauth2\\DateTime' not found",
    "code": 0,
    "type": "Error",
    "file": "E:\\wwwroot\\channel-pub-api\\weibo\\rests\\oauth2\\AuthorizeAction.php",
    "line": 129,
    "stack-trace": [
        "#0 [internal function]: weibo\\rests\\oauth2\\AuthorizeAction->run()",
        "#1 E:\\wwwroot\\channel-pub-api\\vendor\\yiisoft\\yii2\\base\\Action.php(94): call_user_func_array(Array, Array)",
        "#2 E:\\wwwroot\\channel-pub-api\\vendor\\yiisoft\\yii2\\base\\Controller.php(157): yii\\base\\Action->runWithParams(Array)",
        "#3 E:\\wwwroot\\channel-pub-api\\vendor\\yiisoft\\yii2\\base\\Module.php(528): yii\\base\\Controller->runAction('authorize', Array)",
        "#4 E:\\wwwroot\\channel-pub-api\\vendor\\yiisoft\\yii2\\web\\Application.php(103): yii\\base\\Module->runAction('v1/oauth2/autho...', Array)",
        "#5 E:\\wwwroot\\channel-pub-api\\vendor\\yiisoft\\yii2\\base\\Application.php(386): yii\\web\\Application->handleRequest(Object(yii\\web\\Request))",
        "#6 E:\\wwwroot\\channel-pub-api\\weibo\\web\\index.php(17): yii\\base\\Application->run()",
        "#7 {main}"
    ]
}

2、由于使用了命名空间,要解决在命名空间中查找类定义的问题,需要在类名之前加上前导 \

PHP

$urlSigner->signParams($route, false, (new \DateTime())->add(new \DateInterval('PT1H')));

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系