Skip to content

Yish

How does config:cache work in laravel?

Laravel1 min read

We all know if you want to accelerate performance in laravel, you can do a lot of things, one of the things is cache what you think, likely route, config, view, etc, but how does it work in laravel?

To be noticed, cache DOES NOT cache your environment variables, there is documentation in official describe. Upgrade Guide - Laravel - The PHP Framework For Web Artisans

Caching And Env If you are using the config:cache command during deployment, you must make sure that you are only calling the env function from within your configuration files, and not from anywhere else in your application. If you are calling env from within your application, it is strongly recommended you add proper configuration values to your configuration files and call env from that location instead, allowing you to convert your env calls to config calls.

When you type $ php artisan config:cache what happen to your application?

Calling your binding command class

Next, we explore the method getFreshConfiguration

To see getCachedConfigPath and normalizeCachePath

But here is a problem, the laravel how to know to load your configs cached or not?

And now we return back to see getFreshConfiguration and you are seeing

Next, seeing Illuminate\Foundation\Bootstrap\LoadConfiguration::class

For now, we all knew how does it work about config cache, at last, I found a tip about load bootstrap loading. If you want to load the environment after bootstrapping, you can use afterLoadingEnvironment closure.

Cheers!

© 2020 by Yish. All rights reserved.