tiagof2 / laravel-easyblade
Create a easier & readable Blade view with EasyBlade [fork]
v0.7.1
2024-02-23 23:02 UTC
Requires
- php: ^7.3|^8.0
- illuminate/support: ^8.0|^9.0|^10.0
- laravel/framework: ^8.0|^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^5.0|^6.0|^7.0|^8.0
This package is auto-updated.
Last update: 2024-10-24 16:23:00 UTC
README
laravel EasyBlade
You can create a simpler and more readable view with EasyBlade
Installation
composer require rezaamini-ir/laravel-easyblade
Usage
Using EasyBlade is, just like its name, super easy!
Imagine that you want to write a route URL in a href in Blade You will have to write this code :
<a href="{{ route('home') }}"></a>
But by using EasyBlade, Just write :
<a href="@route('home')"></a>
and don't use "{{ }}" or any pure PHP code
Blade template engine was not created for pure PHP code, rather, it was created to code easier. You can pass it by EasyBlade
Current Directives :
@asset('foo')
@url('foo')
@route('foo')
@isActive('routeName', 'active', 'deactive')
@count(array|collection, number )
@user(attr)
@sessionExists('name')
@session('name')
@image('address', 'cssClasses')
@style('style.css')
@script('script.js')
@config('app.name', 'Laravel')
@old('name', 'Reza')
Features :
- You can pass a route name or array of route names as first parameters to
@isActive
directive , second parameter is a string which you want to echo in view and third parameter is an optional param and it will return a null string if nothing was passed , It will be showed when the current route is not equal to array or string which passed as first param - You can use
@count
directive instead of writing lots of if statements to check if the count of the collection or array is equal to or greater than your number which was passed to the second param.
Examples :
@count
@count([1, 2, 3], 3) something @endcount // return `something` because count of array is equal 3
@count([1, 2], 3) true @endcount // return null because count of array is smaler than 3
@isActive
Imagine current route is :dashboard.home
@isActive('dashboard.home', 'active', 'deactive') // Return : active
@isActive(['dashboard.home', 'dahboard.profile'], 'active', 'deactive') // Return : active
@isActive('home', 'active', 'deactive') // Return : deactive
@asset
@asset('img/header.png') // Return : http://127.0.0.1/img/header.png (Like asset() helper )
@route
@route('dashboard') // Return : http://127.0.0.1/dashboard (Like route('routeName') helper )
@url
@url('/home') // Return : http://127.0.0.1/home (Like url('address') helper )
@user
@user('name') // It will run auth()->user()->name and return user's name // You don't need to check user is authenticated or not , it will check by itself
@sessionExists
@sessionExists('foo') Session Exists @endsessionExists // It will run session()->exists('foo') in a condition
@session
@session('name') // First it will check session exists then it will print value of session
@image
@image('img/img1.png', 'img-fuild rounded-circle') // Return a img tag with http://domain/img/img1.png file and 'img-fuild rounded-circle' class
@old
@old('name', $user->name) // Return something like : {{ old('name', $user->name) }}
@script
@script('/js/script.js') // Return script tag : <script src="/js/script.js"></script> @script('/js/script.js', true) // Second and third parameter is optional // Return script tag with defer : <script src="/js/script.js" defer></script>
@style
@style('/css/app.css') // Return link tag : <link rel="stylesheet" href="/css/app.css">
Using this GIT repo on composer.json
v0.6.x
is compatible with Laravelv10.x
. It has not been tested in version 11.x but it should work well
// .. "license": "MIT", "repositories": [ { "type": "package", "package": { "name": "rezaamini-ir/laravel-easyblade", "version": "dev-tiagof2/v0.6.x", "source": { "type": "git", "reference": "tiagof2/v0.6.x", // Nome da branch a usar "url": "https://github.com/tiagofrancafernandes/laravel-easyblade" } } } ], "require": { // ... "rezaamini-ir/laravel-easyblade": "dev-tiagof2/v0.6.x", // HERE // ... }, // ... "config": { "optimize-autoloader": true, "preferred-install": "dist", // ... }, "minimum-stability": "dev", "prefer-stable": true // ...