Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从命令行界面向composer.json文件中的PSR-4节添加名称空间_Json_Bash_Laravel_Command_Composer Php - Fatal编程技术网

从命令行界面向composer.json文件中的PSR-4节添加名称空间

从命令行界面向composer.json文件中的PSR-4节添加名称空间,json,bash,laravel,command,composer-php,Json,Bash,Laravel,Command,Composer Php,我正在寻找一种方法,从命令行界面向Laravel项目的composer.json文件中的自动加载PSR-4部分添加名称空间 { "autoload": { "psr-4": { "App\\": "app/", "Modules\\": "modules/", /* add more here */ } } } 我希望有一个像composer require这样的命令,但我还没有找到一个适合这个机会的命令 有没有人想出一个合适的解决办

我正在寻找一种方法,从命令行界面向Laravel项目的composer.json文件中的自动加载PSR-4部分添加名称空间

{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Modules\\": "modules/",
      /* add more here */
    }
  }
}
我希望有一个像composer require这样的命令,但我还没有找到一个适合这个机会的命令

有没有人想出一个合适的解决办法

甚至是bash、powershell、php的脚本。。。将不胜感激。能够从命令行运行它是最重要的。

如果有人需要它, 我想出了这个方法,对我来说很有效

public function handle($key, $namespace, $output = 'composer.json')
{
    $file = 'composer.json';
    $data = json_decode(file_get_contents($file), true);
    $data["autoload"]["psr-4"][] = array($key => $namespace);
    file_put_contents($output, json_encode($data, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
}
如果有人需要这个, 我想出了这个方法,对我来说很有效

public function handle($key, $namespace, $output = 'composer.json')
{
    $file = 'composer.json';
    $data = json_decode(file_get_contents($file), true);
    $data["autoload"]["psr-4"][] = array($key => $namespace);
    file_put_contents($output, json_encode($data, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
}

你为什么需要命令?您打算多久添加一次新名称空间?为开发人员环境自动部署一个设置。我们不会为您编写脚本,但一种简单有效的方法是使用PHPs json_decode将composer.json内容转换为数组,添加名称空间定义,并使用json_encode将调整后的数组再次转换为json。这个脚本只需在命令行中使用php script.php即可执行。为什么需要一个命令呢?您打算多久添加一次新名称空间?为开发人员环境自动部署一个设置。我们不会为您编写脚本,但一种简单有效的方法是使用PHPs json_decode将composer.json内容转换为数组,添加名称空间定义,并使用json_encode将调整后的数组再次转换为json。此脚本只需在命令行中使用php script.php即可执行。JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT是此代码中最重要的部分JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT是此代码中最重要的部分