由于autoload_static类的Composer中的私有访问而出错

时间:2017-05-03 11:12:17

标签: php laravel composer-php

我目前正在开发一个Laravel 5.4项目。我正在使用PHPStorm。

无处不在,今天我在项目/供应商/作曲家的班级autoload_static.php中遇到了这个错误:

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

        }, null, ClassLoader::class);
    }

每个$loader->variable下面都有一条红线表示它是私有的,因此无法访问。很公平,我在ClassLoader对象来自同一文件夹中的$loader声明,它们确实是私有的。

我从不更改vendor文件夹中的任何内容。一切正常。我想知道是否有人知道为什么会这样,我是否应该将它们从private更改为protected以停止收到错误,或者是否会破坏任何错误。

1 个答案:

答案 0 :(得分:1)

似乎什么都不会破坏。有人曾在Github上问过same question

希望这有帮助。