awkwardideas/switchblade

为Laravel扩展的刀片指令

v1.0.2 2017-03-10 18:51 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:01 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

通过Composer安装

$ composer require awkwardideas/switchblade

添加到config/app.php

在包服务提供者下添加

AwkwardIdeas\SwitchBlade\SwitchBladeServiceProvider::class,

可用指令

通过Blade切换

通过Blade实现的PHP switch语句。

switch语句类似于在同一表达式中的一系列IF语句。在许多情况下,您可能想比较相同的变量(或表达式)与多个不同的值,并根据它等于哪个值执行不同的代码片段。这正是switch语句的作用。

  • @switch(expression, caseStatement1 [, caseStatement2, caseStatement3...])
    • 这是启动switch的Blade调用。它需要表达式和第一个case语句。您可以选择添加尽可能多的case语句,所有这些都会执行从switch开始到第一个@endcase调用之间的代码。
  • @endcase
    • 添加此代码以结束case语句。只需一个即可停止所有先前的案例。
  • @case(caseStatement1 [, caseStatement2, caseStatement3...])
    • 添加此代码以启动case语句。您可以选择添加尽可能多的case语句,所有这些都会执行从@case到下一个@endcase调用之间的代码。
  • @defaultcase
    • 将此代码添加到switch的底部附近以处理可能未由case语句捕获的表达式的任何变体。不需要end case,因为它将以@endswitch结束。
  • @endswitch
    • 添加此代码以结束switch语句。

变量修改

无需进入和退出PHP即可设置、增加或减少变量。

  • @set(variable, value)
  • @increment(variable)
  • @decrement(variable)

变量输出

  • @htmlAttribute(value)
    • 输出安全用于HTML属性(如id)的值。
  • @explode(delimiter, string, index)
    • 输出字符串根据分隔符拆分的拆分结果的索引。
  • @implode(delimiter, array)
    • 输出通过分隔符连接的数组的字符串结果。

调试工具

  • @dd(variable)
    • 对变量执行dump并终止。
  • @varDump(variable)
    • 对变量执行dump。
  • @getenv(ENV_VAR_NAME)
    • 输出环境变量。

其他有用的指令

  • @continue
    • 添加php continue;标签以跳过当前循环迭代的其余部分。
  • @break
    • 添加php break;标签,结束for、foreach、do-while或switch结构的执行。

如果为空

  • @ifempty(variable)
    • 如果变量的计数等于0
  • @endifempty
    • 结束if empty语句

如果为null

  • @ifnull(variable)
    • 如果变量为null
  • @endifnull
    • 结束if null语句

非空

  • @notnull(variable)
    • 如果变量不为null
  • @endnotnull
    • 结束非空语句

可选输出

  • @optional('section')
    • 只有当引用的section有值时才输出包含的内容。
  • @endoptional
    • 结束可选输出语句

文件存在

  • @iffileexists(filepath)
    • 测试文件路径,只有当文件存在时才继续。
  • @endiffileexists
    • 结束文件存在条件

有计数

  • @hascount(variable)
    • 获取变量的计数,如果计数大于0则继续
  • @endhascount
    • 结束has count条件

##语言修改

  • @lang(key[, replace, locale])
    • 修改为传递给选择1,允许将复数放入其中,而不必将所有单数用法都改为选择。

##包

  • @bag(variable[,value])
    • 将变量追加到包中,或以列表形式回显包

初始化脚本

  • @initScript([scriptName])
    • 如果传递了参数,将脚本名称添加到包中。如果没有传递参数,将包的内容倒入javascript窗口属性中。