lee-to / spiral-blade-bridge
螺旋框架:Blade适配器
0.1.0
2024-02-06 08:05 UTC
Requires
- php: ^8.1
- illuminate/collections: ^9.0|^10.0
- illuminate/view: ^9.0|^10.0
- spiral/core: ^3.0
- spiral/framework: ^3.0
- spiral/views: ^3.0
Requires (Dev)
- phpunit/phpunit: ^9.5.20
- spiral/testing: ^2.0
This package is auto-updated.
Last update: 2024-09-08 06:00:39 UTC
README
安装
composer require lee-to/spiral-blade-bridge
要启用扩展,请通过添加 Leeto\SpiralBlade\Bootloader\BladeBootloader
来修改您的应用程序
use Leeto\SpiralBlade\Bootloader\BladeBootloader; class Kernel extends \Spiral\Framework\Kernel { // .. public function defineBootloaders(): array { return [ // .. // Views BladeBootloader::class, // .. ]; } // .. }
配置
将配置发布到 app/config/views/blade.php
,您也可以添加类组件和匿名组件以及指令
return [ 'paths' => [ // 'custom' => directory('root') . 'packages/custom/views', 'app' => directory('root') . 'app/views', ], 'cache_dir' => directory('runtime') . 'cache/views', 'component_namespaces' => [ // 'VendorName\Components' => 'prefix' ], 'anonymous_component_namespaces' => [ // directory('root') . 'packages/prefix/views/components' => 'prefix', ], 'directives' => [ // MyCustomDirective::class, ], ];
指令
添加实现 Leeto\SpiralBlade\DirectiveInterface 接口的类,并将其添加到配置中
<?php use Closure; use Leeto\SpiralBlade\DirectiveInterface; use Leeto\SpiralBlade\DirectiveType; final class DateTimeDirective implements DirectiveInterface { public function getType(): DirectiveType { return DirectiveType::DEFAULT; } public function getName(): string { return 'datetime'; } public function handler(): Closure { return static fn (string $expression) => "<?php echo ($expression)->format('m/d/Y H:i'); ?>"; } }