Comments (6)
+1
from phpdotenv.
I agree.
from phpdotenv.
Great, thanks 👍 !
from phpdotenv.
I disagree. Especially to include such a breaking change in a minor release. This could break projects which depend on an empty value being set.
See also:
#38
from phpdotenv.
Relevant: #35
from phpdotenv.
I agree with both sides :) There are pros and cons.
The generally better way to check env vars is to check for it's existance (getenv() returns false when it doesn't exist). Only env vars that have not been set, or specifially unset before execution of a script will be caught as "not set". Thus, a prerequisite for that type of check is to support unset
within .env
in case a env var is already defined for some reason (also see OP's example). This way, configuration directives can be set to "0", "" and other "empty" values as defined by php, without issues.
However, many will want the basic validation check to indicate that it has a non-empty, so changing it to the default behavior is not a bad idea imo. At the same time, it is not a good idea to break the api between minor versions. Maybe have two different methods? One requiredExists
that requires it to be set only, and one required
that requires them to be non-empty?
Btw, as soon as #35 is merged, one can manually specify "" as an allowed value for those specific config directives, so both methods could be used.
from phpdotenv.
Related Issues (20)
- PHP version 7.1 is not supported now HOT 2
- Equals Symbol in last line of multiline variable causes issues. HOT 3
- Save to .env HOT 1
- How to loads many env file, but the extension is .txt HOT 1
- Fatal error: Uncaught Error: Class "Dotenv\Dotenv" not found in HOT 1
- Performance degradation HOT 3
- Question - are there any 'builtin' variables? HOT 3
- Add reader with support for secret files
- loading a .env file from outside the webspace seem to not work
- php 8.2 function getenv() not set HOT 1
- Please dont use $_SERVER HOT 1
- Load AWS system environments HOT 4
- symfony/dotenv Correlation HOT 1
- PHP version 7.4 HOT 1
- How does this help with php_value in .htaccess?
- Is there anyway to use sections created in the .env file? HOT 4
- Fatal error: Uncaught Error: Class "Dotenv\Dotenv" not found in HOT 2
- Can one use Heredoc syntax for multi-line strings? HOT 1
- Failed to parse dotenv file due to unexpected whitespace HOT 1
- Inconsistent result when calling `$this->dotenv->load()` multiple times from PHPUnit
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpdotenv.