使用PhpStorm删除CakePHP中的插件后,"会员有私人访问错误"

Ric*_*etz 5 php cakephp phpstorm composer-php

从我的CakePHP框架中删除插件以及与之关联的所有代码行后,我的文件夹中的getInitializer函数出错:autoload_static.phpvendor->composer

public static function getInitializer(ClassLoader $loader)
{
    return \Closure::bind(function () use ($loader) {
        $loader->prefixLengthsPsr4 = ComposerStaticInit8835d383dd0f2dc92619594332e8ea7e::$prefixLengthsPsr4;
        $loader->prefixDirsPsr4 = ComposerStaticInit8835d383dd0f2dc92619594332e8ea7e::$prefixDirsPsr4;
        $loader->prefixesPsr0 = ComposerStaticInit8835d383dd0f2dc92619594332e8ea7e::$prefixesPsr0;
        $loader->classMap = ComposerStaticInit8835d383dd0f2dc92619594332e8ea7e::$classMap;

    }, null, ClassLoader::class);
}
Run Code Online (Sandbox Code Playgroud)

所有前缀和classMap下划线都显示错误消息:

"会员有私人访问权限"

我对PHP很新,所以我的问题是如何处理这个错误?我想删除这4行代码是不安全的.

我已经尝试更新作曲家并使PhpStorm中的缓存/重启无效.

编辑1

我当然不应该从作曲家文件中手动删除与旧插件相关的代码行.

composer diagnose: 检查composer.json:FAIL require.cakephp/plugin-installer:应该避免未绑定版本约束(*)检查平台设置:FAIL PHP使用的OpenSSL库(0.9.8y)不支持TLSv1.2或TLSv1 0.1.如果可能,您应该将OpenSSL升级到1.0.1或更高版本.检查git设置:OK检查http连接到packagist:警告:通过http访问packagist.org这是一个不安全的协议.

由于项目不是太旧,它可能是最简单的方法,只需完全删除它并从头开始重新启动或是否有一个简单的解决方案?

ndm*_*ndm 8

这些行在技术上被错误地突出显示为错误,甚至在您修改代码之前它们都被突出显示为错误.

代码将特定对象和作用域绑定到闭包,在这种情况下,它将绑定$loader对象(实例ClassLoader)与ClassLoader::class作用域.这将导致闭包以$loader一种使私有方法对其可见的方式绑定到对象,因此在运行时不会出错.

所以问题只是PhpStorm解析器不够智能(尚未)识别这一点.

另见http://www.php.net/manual/en/closure.bind.php

就你的其他作曲家问题而言,供应商文件应该总是可以安全删除,即vendor文件夹通常应该只包含通过作曲家安装的代码,这意味着万一你搞砸了,你应该可以简单地删除vendor文件夹,根据需要修复composer.json文件(并删除composer.lock文件),然后再次运行composer updatecomposer install命令.