Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Environment Switcher #6

Open
PatrickLouys opened this issue Nov 6, 2014 · 8 comments
Open

Environment Switcher #6

PatrickLouys opened this issue Nov 6, 2014 · 8 comments
Assignees

Comments

@PatrickLouys
Copy link
Owner

Explain how to: config file that is in .gitignore

@PatrickLouys PatrickLouys self-assigned this Nov 6, 2014
@phillipsharring
Copy link

I love the config folder idea with config files, and optionally have config/{environment} folders that overwrite any config in the main folder. The {environment} could be set in .env, which would be a good solution for /issues/20 (with the appropriate wrapper/interface of course)

@ellisgl
Copy link

ellisgl commented Nov 5, 2017

The last full time development job I had, we had a config system that used .INI files. One for Dev, one for QA and one for Prod. Also each developer had their own INI that would merge with the Dev. It used apache env variables. I'll have to look for example code on my old hard drives.

@phillipsharring
Copy link

phillipsharring commented Nov 5, 2017

Check out https://github.com/vlucas/phpdotenv

Lots of projects do it with an ignored .env and commited .env.example where new env keys are added. I mentioned this on #20 too. Then the .env stuff could be referenced in the config files. Multiple developers could have their own thing with the folder idea I mentioned above. The config/db.php file could be production, but config/phil/db.php would overwrite that if the environment was set to "phil" - just an example. I've seen the ini solution too, esp. in Java projects. While I'm not opposed, I think it muddies the repo to have an individual's settings checked in. Just a preference.

@ellisgl
Copy link

ellisgl commented Nov 5, 2017

I found some very old code (was making a boilerplate "framework" for that job).
read.me has the info for the apache configs. library\X5\Config.php goes over how the INI's were handled. I guess the thing was that it has "macros" built in.
x5.zip

I'm not saying this is the way to do it, i'm just showing one way of doing configs.

@phillipsharring
Copy link

@ellisgl Hey! looks cool. A lot of effort went into that. Thanks for sharing.

@ellisgl
Copy link

ellisgl commented Nov 10, 2017

@philsown so... decided to remake that mess of old code... https://github.com/ellisgl/GeekLab-INICONF

@ellisgl
Copy link

ellisgl commented Jul 26, 2020

Can we close this?

@phillipsharring
Copy link

Yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants