As you have figured out, you can use Blade::compileString() to compile a piece of Blade template, taken for example from a DB column. What are Blade templates compiled to? If you look into storage/framework/views/ in your project folder, you will see that they are compiled into PHP code.

On the other hand, if you gitignore the vendor folder, you won't be able to use Git for deployment (push to your server to update your website) because you will have to run composer on your server. Plus, if some repository suddenly goes away from the Internet or is modified or corrupted (it happens) then you won't be able to run your old project anymore.

My point is that .gitignore is a configuration file for version control, that is only edited when you need to and then left alone.

OTOH the ENV file needs to be visible and prominent (I'm even thinking of making it all caps) because it's the central configuration file for a given deployment or working copy. Whenever something is not working, it's the first place you (or an admin) should look into. Making it a hidden file is just looking for trouble and for a lot of wasted time.

I would like to load the environment from a env file instead of .env
The reason is that my team will use Linux and Mac OS X, where dotfiles are hidden by default, so it may (will) become bothersome to check the existence of a hidden file whenever something is not working, especially one that is ignored by version control (as the env should be.)
I managed to do it like this. Is it the right way?
bootstrap/app.php:
$app->loadEnvironmentFrom('env');