cryental/dinhquochan-laravel-twig is a Laravel package for twig template for laravel framework.
It currently has 0 GitHub stars and 33 downloads on Packagist (latest version 1.3.3).
Install it with composer require cryental/dinhquochan-laravel-twig.
Discover more Laravel packages by cryental
or browse all Laravel packages to compare alternatives.
Last updated
Allows you to use Twig in Laravel.
You can install the package via composer:
composer require dinhquochan/laravel-twig
If you don't use auto-discovery, add the Service Provider to the providers array in config/app.php
\DinhQuocHan\Twig\TwigServiceProvider::class,
If you want to use the facade to extended twig extensions, add this to your facades in app.php:
'Twig' => \DinhQuocHan\Twig\Facades\Twig::class,
So, we will use Artisan to add the new twig config file:
php artisan vendor:publish --provider="DinhQuocHan\Twig\TwigServiceProvider"
You call the Twig template like you would any other view:
// Normal (template.html.twig or template.css.twig or template.twig)
return view('template', ['some_variable' => 'some_values']);
// With vender namespace
return view('vendor_namespace::template', $data);
Read more in Twig for Template Designers or Laravel Views.
Laravel Twig allows you to define your own custom filters, functions, globals, token parsers or extensions.
The following example creates a {{ product.price|money_format }} filter which formats a given $product->price:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use DinhQuocHan\Twig\Facades\Twig;
class AppServiceProvider extends ServiceProvider
{
/**
* Register bindings in the container.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Twig::addFilter(new TwigFilter('money_format', function ($price) {
return sprintf('%d %s', number_format($price), 'US$');
}));
}
}
Available methods:
Twig::addGlobal(string $name, $value) Creating a globalTwig::addFilter(\Twig\TwigFilter $filter) Creating a filterTwig::addFunction(\Twig\TwigFunction $function) Creating a functionTwig::addTest(\Twig\TwigTest $test) Creating a testTwig::addTokenParser(\Twig\TokenParser\TokenParserInterface $parser) Creating a token parserTwig::addExtension(\Twig\Extension\ExtensionInterface $extension) Creating a extensionRead more in Twig for Template Designers.
\DinhQuocHan\Twig\Extensions\Arr::class\DinhQuocHan\Twig\Extensions\Auth::class\DinhQuocHan\Twig\Extensions\Config::class\DinhQuocHan\Twig\Extensions\Dump::class\DinhQuocHan\Twig\Extensions\Gate::class\DinhQuocHan\Twig\Extensions\Path::class\DinhQuocHan\Twig\Extensions\Request::class\DinhQuocHan\Twig\Extensions\Session::class\DinhQuocHan\Twig\Extensions\Str::class\DinhQuocHan\Twig\Extensions\Translator::class\DinhQuocHan\Twig\Extensions\Url::classFunctions:
array_*, data_*, head, lastauth, auth_check, auth_guest, auth_user, auth_guardconfig, config_get, config_hasdump, ddcan, cant, cannot, allows, denies*_path, mixrequest, request_has, request_exists, request_filled, request_input, request_query, request_is, current_url, current_full_url, current_full_url_with_query, oldsession, session_has, session_get, session_put, session_pull, session_forget, csrf_token, csrf_field, method_fieldstr_* (All the Str::* methods, snake_case, camel_case, studly_case, kebab_case)__, trans, trans_choiceaction, asset, url, route, secure_url, secure_assetFilters:
*_path, mixstr_* (All the Str::* methods, snake_case, camel_case, studly_case, kebab_case)__, trans, trans_choiceaction, asset, url, route, secure_url, secure_assetGlobal variables:
app: the Illuminate\Foundation\Application::class objectcomposer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.