Getting non static function statically is called Facades. Lets set the cache like below in our web route cache()->set('name',"navid"); and get it using dd() dd(cache()->get('name')); Result : “navid” As we can see cache() is not a static method. If we Ctrl+Left Mouse Click on cache(),it will go to that method and we can see the cache() function cache() { $arguments = func_get_args(); if (empty($arguments)) { return app('cache'); } if (is_string($arguments[0])) { return app('cache')->get(...$arguments); } if (! is_array($arguments[0])) { throw new Exception( 'When setting a value in the cache, you must pass an array of key / value pairs.' ); } return app('cache')->put(key($arguments[0]), reset($arguments[0]), $arguments[1] ?? null); } } Though cache() is not a static function ,but in Laravel we can call it statically .It is called Facades. use Illuminate\Support\Facades\Cache; cache::set('name',"navid"); dd(cache::get('name')); Result is “navid” Check out the official documentation of Facades https://laravel.com/docs/8.x/facades Post navigation Laravel Service Providers Create and Use Custom Facades in Laravel