如何将自定义功能传递给Laravel Blade模板?

时间:2015-09-07 02:13:57

标签: laravel laravel-blade

我有自定义功能,我想在刀片模板中传递它。这是功能:

function trim_characters( $text, $length = 45, $append = '…' ) {

    $length = (int) $length;
    $text = trim( strip_tags( $text ) );

    if ( strlen( $text ) > $length ) {
        $text = substr( $text, 0, $length + 1 );
        $words = preg_split( "/[\s]| /", $text, -1, PREG_SPLIT_NO_EMPTY );
        preg_match( "/[\s]| /", $text, $lastchar, 0, $length );
        if ( empty( $lastchar ) )
            array_pop( $words );

        $text = implode( ' ', $words ) . $append;
    }

    return $text;
}

用法是这样的:

$string = "A VERY VERY LONG TEXT";
trim_characters( $string );

是否可以将自定义功能传递给刀片模板?谢谢。

1 个答案:

答案 0 :(得分:30)

您不必任何内容传递给刀片服务器。如果您定义了您的功能,则可以从刀片中使用它。

  1. 创建新的app/helpers.php文件。
  2. trim_characters功能添加到其中。
  3. Add that file to your composer.json file
  4. 运行composer dump-autoload
  5. 现在直接在刀片中使用该功能:

    {{ trim_characters($string) }}