-
Notifications
You must be signed in to change notification settings - Fork 940
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
Remove phpdotenv or move it to require-dev #379
Comments
The point of a starter kit IMO is that you show people good practices and you expect them to customize it. drupal-project is not forcing any choices on anyone. This is a recurring misconception or disagreement. |
The way it's added, it's quite tricky to remove phpdotenv from this project. It's not as simple as |
It can be done by commenting out https://github.com/drupal-composer/drupal-project/blob/8.x/composer.json#L44. I agree that we could document this better. |
It's actually not as simple as just that either. For the record, in case anyone is reading this that wants to remove it, here are the steps:
|
@q0rban Thanks for the pull-request. I will think about it, especially because of the long discussions file_exists we had in Drupal core. There is a shorter version for removing it.
|
Nice, that's much better @webflo! I do think that is unlikely to be people's first thought when removing it, unless they are very familiar with how Composer works. |
@webflo your 3 steps don't work. I get a fatal error on step 3:
By the way, I support removing this package from the project, or at least moving it to require-dev. The way it is now is just too opinionated. |
Agree. If its not necessary to running Drupal OOTB, it should be listed as require-dev at the least. |
Per this comment
https://github.com/drupal-composer/drupal-project/blob/8.x/load.environment.php#L19 Worth noting that it is not a big deal to load environment variables without <?php
/**
* This file is included very early. See autoload.files in composer.json and
* https://getcomposer.org/doc/04-schema.md#files
*/
putenv('DRUSH_OPTIONS_URI=http://localhost');
/**
* Load local environment, if available.
*/
if (file_exists(__DIR__. '/local.environment.php')) {
require __DIR__. '/local.environment.php';
} |
Moving it to I think we should decide on whether we leave it as-is or fully remove it. |
Since this was filed, I think there’s a new common case for using this package in |
I think it should stay but we could make it easier for people removing it. |
Let's only document how to remove it. If we get to building a customiser for this project - we can add this removal there. |
We could put a class exist in the load.environment.php right? Then it's just composer remove. |
I would like to understand how/if people use this with Drupal (workflow-wise). We do not provide any documentation for this, so others may have the same question. When using a container-based environment (locally, CI, hosting), the reading of variables from On the environments where reading of In addition, there are also performance concerns. Other frameworks solving them by caching environment variables loaded by |
For performance reasons, it's not a good idea to use phpdotenv in production. And especially if the idea of not using it in production is "just don't have a .env, but use phpdotenv to search for one anyway." This choice seems like a choice that an individual project should make, not one that drupal-project should make for everyone using it as a starterkit. And if you do want to use it, it should IMO be a require-dev package, not something that ever makes it to production.
The text was updated successfully, but these errors were encountered: