for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Jumilla\Addomnipot\Laravel\Repository;
use Illuminate\Config\Repository;
use Symfony\Component\Finder\Finder;
class ConfigLoader
{
/**
* Load the configuration items from all of the files.
*
* @param string $directoryPath
* @return Illuminate\Contracts\Config\Repository
*/
public static function load($directoryPath)
$config = new Repository();
(new static())->loadConfigurationFiles($directoryPath, $config);
return $config;
}
* @param \Illuminate\Contracts\Config\Repository $config
protected function loadConfigurationFiles($directoryPath, Repository $config)
foreach ($this->getConfigurationFiles($directoryPath) as $group => $path) {
$config->set($group, require $path);
* Get all of the configuration files for the directory.
* @return array
protected function getConfigurationFiles($directoryPath)
$files = [];
if (is_dir($directoryPath)) {
foreach (Finder::create()->files()->in($directoryPath) as $file) {
$group = basename($file->getRealPath(), '.php');
$files[$group] = $file->getRealPath();
return $files;