【问题标题】:Phpstorm and Yii2 advanced templatephpstorm 和 Yii2 高级模板
【发布时间】:2026-02-09 08:15:02
【问题描述】:

我正在使用 PhpStormYii2 高级模板。我看过所有的 Yii2 文档。一切安好。关于集成 Yii2 和 PhpStorm(两者都是我的最爱)存在一些问题,谷歌搜索并没有很好的解决方案。可能很多开发者都有同样的问题,所以我想在这里问一下:


  1. 我已经使用 Composer 全局安装了 codeception,然后使用 codeception 构建并运行高级模板中包含的所有测试。一切都好。但是当我想在 PhpStorm 中编写新的 (frontend, backend, ...) 测试时,没有使用 codeception 的自动完成功能。此外,当您在 PhpStorm 中打开一些现有的默认测试(例如 SignupCest.php 文件)时,命名空间未定义,并且 PhpStorm 在主题类中找不到引用的方法!

有什么建议或解决方案吗?

更新

  1. 任何人都可以提供有关如何使用 Xdebug、PhpStorm 和 Chrome/Firefox 调试 yii2 项目的完整教程吗?虽然有一些关于调试纯 PHP 项目/脚本的教程,但在 yii2 上没有找到任何教程。

【问题讨论】:

    标签: php phpstorm yii2 codeception yii2-advanced-app


    【解决方案1】:

    SettingsLanguage & FrameworksPHP 中将Include path 设置为密码接收。赞this

    对于那些想知道的人:

    在您将代码接收框架的路径包含到您的项目之后,您必须更改 PHPDoc 块以正确寻址 @param。

    例如验收测试

    SignupCest.php 文件中的命名空间:

    来自: @param \codeception_frontend\AcceptanceTester $I

    到: @param AcceptanceTester $I

    【讨论】:

    • 我认为你是对的,我会接受你的回答,顺便说一下 codeception_frontend 。我的意思是这个命名空间指的是什么?仍然有未定义的警告,并且没有可用的自动完成功能。 @vitalik_74
    • uhh.. 我删除了 codeception_frontend 并将 PHPDoc 块从自动生成的 @param \codeception_frontend\AcceptanceTester $I 更改为 @param $I AcceptanceTester,仅此而已。现在一切都很好。 TNX @vitalik_74