Laravel Support for Lumen: Adds missing helpers that are not being made to the core of Lumen. Lets you use Laravel Packages in Lumen.
There are some helper functions that are available in core of Laravel framework which are being used in Laravel Packages. Now because of these helpers missing in core of the Lumen, You won't be able to use those amazing Laravel Packages.
I had submited PRs as well as created issue tickets in Lumen to add these helpers to the core but it got rejected with a reason to use Laravel instead. Just for Packages support i didn't want to use full-stack framework. There were few discussions about the same as well. Hence, This package to deal with this issue!
You can either add the package directly by firing this command
$ composer require shafihuzaib/larasupport:~1.0
Or add in the require
key of composer.json
file manually
"shafihuzaib/larasupport": "~1.0"
And Run the Composer update command
$ composer update
Add this service provider to your bootstrap/app.php
file.
$app->register(Irazasyed\Larasupport\Providers\ArtisanServiceProvider::class);
Artisan Service Provider is an optional provider required only if you want vendor:publish
command working.
And you're done! You can now start installing any Laravel Package out there.
These helpers can be used across your Lumen project, not only with Laravel Packages.
Get the fully qualified path to the public
directory. You can set env variable PUBLIC_PATH
and it'll return the same instead of the default public
.
Get the fully qualified path to the config
directory (Mostly used with Laravel Packages).
Get the fully qualified path to the database
directory (Mostly used with Laravel Packages).
Get the fully qualified path to the app
directory.
Artisan command to Publish any publishable assets from vendor packages (Required to get Laravel Packages working!).
php artisan vendor:publish
OR
php artisan vendor:publish --provider="Vendor\Providers\PackageServiceProvider"
route_parameter($name, $default = null)
Get a given parameter from the route.
If you're using Laravel Elixir in Lumen, Then this helper function will come handy when you want to include assets from your build directory. By default, it assumes your Elixir's build directory is build
under public directory (The default is as per the Elixir's default config). If you use a custom build directory, then you can simply set env variable ELIXIR_BUILD_PATH
with your custom directory path and it'll use the same instead of the default.
<link rel="stylesheet" href="{{ elixir('css/all.css') }}">
<script src="{{ elixir('js/app.js') }}"></script>
PRs are Welcome :)
Any issues, please report here.
The methods have been ported from the core of Laravel framework and modified to fit the requirements.