Package Data | |
---|---|
Maintainer Username: | sineld |
Maintainer Contact: | sineld@gmail.com (Sinan Eldem) |
Package Create Date: | 2016-01-30 |
Package Last Update: | 2022-08-30 |
Home Page: | http://packalyst.com/packages/package/sineld/bladeset |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2025-02-20 15:01:55 |
Package Statistics | |
---|---|
Total Downloads: | 22,502 |
Monthly Downloads: | 24 |
Daily Downloads: | 1 |
Total Stars: | 43 |
Total Watchers: | 3 |
Total Forks: | 4 |
Total Open Issues: | 0 |
This package is heavily inspirated from alexdover/blade-set after this discussion.
A very simple blade extension which allows variables to be set within blade templates.
This version is for Laravel 5.6 and should work with latest version of Laravel, if don't please mail me.
See master branch for latest release of Laravel.
@set('myVariable', $existing_variable)
// or
@set("myVariable", "Hello, World!")
Then you can use the variable $myVariable
in the blade template.
{{ $myVariable }}
You might choose to fetch a bunch of models from your template, for example
@set('myModelList', MyModel::where('something', '=', 1)->paginate(10))
@set('username', 'sineld')
@var("username", "sineld")
@assign('username', 'sineld')
Tip: You can assign your own operator in config file!
Compare
<?php $myModelList = MyModel::where('something', '=', 1)->paginate(10); ?>
to
@set('myModelList', MyModel::where('something', '=', 1)->paginate(10))
I felt that the use of the @set
was a more elegant solution in the context of blade templates.
Another reason (from github issue page):
An example where setting and keeping track of a variable inside a template using this sytax would be processing a list of things where each thing has a week and you want to set a week header for each group of weeks:
@set('week', 0);
@foreach ($things as $thing)
@if ($week != $thing->week)
WEEK {{ $thing->week }}
@set('week', $thing->week)
@endif
Title: {{ $thing->title }}
@endforeach
Run this command on terminal in your packages root:
composer require sineld/bladeset
or
Require this package in your composer.json
:
"sineld/bladeset": "^5.6"
Update composer. This will download the package.
composer update
Add the BladeSetServiceProvider to the providers array in config/app.php
if your projects Laravel version is below 5.5. If you Laravel version is higher or equal to 5.5 you do not need to add the line below to config/app.php
file because package auto discovery is available.
Sineld\BladeSet\BladeSetServiceProvider::class,
(Optional) Publish package config.
php artisan vendor:publish
Then edit app/config/bladeset.php
accoring to your needs.
All done!
You can use this package under the MIT license
If you have any questions, feature requests or constructive criticism then please get in touch.
Twitter - @sineld