Comment passer une fonction personnalisée à un modèle de lame Laravel?
j'ai une fonction personnalisée et je veux la passer dans un modèle de lame. Voici la fonction:
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;
}
Et l'usage est comme ceci:
$string = "A VERY VERY LONG TEXT";
trim_characters( $string );
est-il possible de passer une fonction personnalisée au modèle de lame? Remercier.
9
demandé sur
sorxrob
2015-09-07 05:13:57
1 réponses
Vous n'avez pas à pass n'importe quoi à blade. Si vous définissez votre fonction, vous pouvez l'utiliser à partir de la lame.
- Créer un nouveau
app/helpers.php
fichier. - Ajouter
trim_characters
fonction. - ajouter ce fichier à votre
composer.json
le fichier. - Exécuter
composer dump-autoload
.
maintenant, utilisez la fonction directement dans blade:
{{ trim_characters($string) }}
24
répondu
Joseph Silber
2017-05-23 10:31:34