How to do {{ asset('/css/app.css') }} in Lumen?

prograhammer picture prograhammer · May 15, 2015 · Viewed 12.1k times · Source

In Lumen, I can do this in my blade template:

{{ url('/css/app.css') }}

In Laravel I could do

{{ asset('/css/app.css') }}

Is the url helper all I have to work with in Lumen?

Answer

Murwa picture Murwa · Apr 20, 2016

Had the same problem, moving from laravel to lumen. As @hieu-le says, I made an asset helper as below.

if (!function_exists('urlGenerator')) {
    /**
     * @return \Laravel\Lumen\Routing\UrlGenerator
     */
    function urlGenerator() {
        return new \Laravel\Lumen\Routing\UrlGenerator(app());
    }
}

if (!function_exists('asset')) {
    /**
     * @param $path
     * @param bool $secured
     *
     * @return string
     */
    function asset($path, $secured = false) {
        return urlGenerator()->asset($path, $secured);
    }
}