Вы можете изменить composer.json
различными способами.
Не рекомендуется
Один простой способ - использовать file_get_contents ()
и file_put_contents ()
.
$composer = file_get_contents(base_path('composer.json')); // get composer.json
$array = json_decode($composer, true); // convert to array
// Add new file
$array['autoload']['files'][] = $name;
// convert to json
$json = json_encode($array, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
file_put_contents(base_path('composer.json'), $json); // Write composer.json
Но этот способ не эффективен и вы теряете много времени на обновление автозагрузчика:
composer dump-autoload
Рекомендация
Мой совет, вам следует создать свой собственный пакет composer.
У вашего провайдера пакетных услуг вы можете получить всех помощников без обновления автозагрузчика.
$files = glob(
// app/Helpers
app_path('Helpers') . '/*.php')
);
foreach ($files as $file) {
require_once $file;
}
Я владелец laravel-helpers
. Вы можете увидеть технику, которую я использовал там.