Composer dump-autoload,发行

And*_*leb 5 php helpers laravel composer-php artisan

确切地说,在使用Laravel 4进行项目工作时,我决定要制作自己的帮助程序文件来存放我的自定义函数。.其中之一是下面的...

function pr($ar=array(), $bool=false){

   echo '<pre>';
   print_r($ar);
   echo '</pre>';

   if($bool){
      exit;
   }

}
Run Code Online (Sandbox Code Playgroud)

在我的composer.json文件中,紧接在autoload:classmap之后,我添加了myne autoload:files -arrar,并包括了我的自定义文件app / helpers,如下所示。

            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ],

        "others":[
            "app/helpers.php"
        ]
Run Code Online (Sandbox Code Playgroud)

我切换到终端窗口并运行以下命令

composer dump-autoload -o  
Run Code Online (Sandbox Code Playgroud)

但是我仍然收到我的pr()函数未定义的错误...然后我尝试了工匠的替代方法... [-o]优化文件

php artisan dump-autoload
Run Code Online (Sandbox Code Playgroud)

但仍然拒绝工作...然后我从更改了数组名称

"others":[
            "app/helpers.php"
        ]
Run Code Online (Sandbox Code Playgroud)

"files":[
            "app/helpers.php"
        ]
Run Code Online (Sandbox Code Playgroud)

然后我得到了所需的响应,我的代码现在可以看到我编写的自定义函数,请我想知道是否存在我应该遵循的模式,否则我就将“ files”误认为是“其他人”,但我遇到了错误,但是如果万一,我在这里错过了什么,我看到的只是数组表示形式的名称字符串值。

Mar*_*łek 4

这就是作曲家的工作方式。当您想要加载某些文件时autoload需要使用该部分。files例如,在我的 Laravel 5 项目中:

"autoload": {
    "classmap": [
        "database",
        "tests/TestCase.php"
    ],
    "psr-4": {
        "App\\": "app/",
        "verify\\": "verify/"
    },
    "files": [
        "app/Helpers/functions.php"
    ]
},
Run Code Online (Sandbox Code Playgroud)

如果您查看文档,您会发现您需要使用files自动加载器来加载任何额外的文件。