Laravel Blade 助手
发布于 作者: Paul Redmond
Laravel Blade 助手是由 Liam Hammett 开发的包,它提供了一种更轻松的方式来定义自定义 Blade 指令。
在使用 Blade::directive(…) 方法创建新的自定义 Blade 指令时,唯一可用于操作的参数是来自 .blade.php 文件的原始字符串表达式。开发人员似乎很少实际解析指令内的表达式内容本身,而是选择将整个表达式作为参数传递给帮助函数或另一个类上的方法。
例如
BladeHelper::directive('uppercase', function($expression) { return "<?php echo strtoupper($expression); ?>";});
由于这似乎是最常见的用例,因此此包试图帮助使这些帮助函数的定义变得更加容易,而无需使用样板代码来返回字符串或在创建指令时考虑表达式可能是什么。
自述文件 中包含许多有用的示例,例如定义指令及其调用的函数。在此示例中,指令调用了底层 strtoupper
内置函数。
// Define the helper directiveBladeHelper::directive('uppercase', 'strtoupper'); // Use it in a view@uppercase('Hello world.') // Get the compiled result<?php echo strtoupper('Hello world.'); ?> // See what's echoed"HELLO WORLD."
定义的函数也可以是闭包,并接受多个参数,从而更轻松地在函数中处理单个参数。
// Define the helper directiveBladeHelper::directive('example', function($a, $b, $c = 'give', $d = 'you') { return "$a $b $c $d up";}); // Use it in a view@example('Never', 'gonna') // Get the compiled result<?php echo app('blade.helper')->getDirective('example', 'Never', 'gonna'); ?> // See what's echoed"Never gonna give you up"
您可以在 GitHub 上的 imliam/laravel-blade-helper 中了解更多关于此包的信息,获取完整的安装说明,并查看源代码。