从命令行界面向composer.json文件中的PSR-4节添加名称空间
我正在寻找一种方法,从命令行界面向Laravel项目的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这样的命令,但我还没有找到一个适合这个机会的命令 有没有人想出一个合适的解决办
{
"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是此代码中最重要的部分