App\Services\Config\DotenvWriter::setConfig PHP Method

setConfig() public method

Set configuration to a .env file.
public setConfig ( string $name, string $value ) : mixed
$name string Configuration name
$value string Configuration value
return mixed
    public function setConfig($name, $value)
    {
        $contents = $this->fs->get($this->path);
        if (preg_match("/^{$name}=.*\$/m", $contents)) {
            $contents = preg_replace("/^{$name}=.*\$/m", "{$name}={$value}", $contents);
        } else {
            $contents .= "{$name}={$value}" . PHP_EOL;
        }
        return $this->fs->put($this->path, $contents);
    }

Usage Example

Exemplo n.º 1
0
    public function test_Should_AddNewConfig_When_ConfigDoesNotExist()
    {
        $contentsBefore = <<<EOF
NAME1=value1
NAME2=value2

EOF;
        $contentsAfter = <<<EOF
NAME1=value1
NAME2=value2
NAME3=value3

EOF;
        $dotenv = vfsStream::newFile('.env')->at($this->rootDir)->setContent($contentsBefore);
        $dotenvWriter = new DotenvWriter(new LaravelFilesystem($this->app['files']), vfsStream::url('rootDir/.env'));
        $dotenvWriter->setConfig('NAME3', 'value3');
        $this->assertEquals($contentsAfter, $dotenv->getContent());
    }