En tant que développeur PHP full-stack qui utilise principalement Laravel, je rechercherai souvent dans certains frameworks des méthodes que je peux utiliser pour réduire efficacement le temps de développement ou réduire la complexité du code. Vous trouverez ci-dessous quelques bonnes méthodes auxiliaires que j'ai compilées et que j'utilise souvent dans la vie quotidienne. Découvrons-le ✨
La plupart des méthodes de cet article sont basées sur Laravel7 et les versions antérieures. (Si vous rencontrez des problèmes, veuillez d'abord vérifier s'il s'agit d'un problème de compatibilité de version)
Notre première fonction d'assistance Obtient une chaîne et la tronque avec une limite de longueur de caractères définie . Il prend deux paramètres obligatoires : la chaîne que vous souhaitez tronquer et la limite de longueur de caractères pour la chaîne tronquée renvoyée. [Recommandations associées : tutoriel vidéo laravel]
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20); // The quick brown fox ...
Vous pouvez également transmettre le troisième paramètre facultatif pour contrôler ce qui est affiché après la chaîne renvoyée.
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, '[...]'); // The quick brown fox [...]
Je trouve cela parfait pour raccourcir un long bloc de texte en un résumé ou un aperçu de publication pour une liste d'articles.
Cette fonction est géniale. Une méthode simple consiste généralement en plusieurs fonctions PHP brutes imbriquées, head() renverra le premier élément du tableau. Je l'ai utilisé dans de nombreuses applications différentes en raison de sa nature mondiale et omniprésente.
$array = [100, 200, 300]; $first = head($array); // 100
Tu veux faire l'inverse ? Utilisez la méthode last
pour obtenir le dernier élément du tableau. last
方法可以获取数组的最后一个元素。
$array = [100, 200, 300]; $last = last($array); // 300
这是关于使用head和last方法的最佳方法,因为它们根本不影响原始数组。
顾名思义, Str::between() 会 返回字符串中的内容。如果没有找到指定字符串,返回 null
。
use Illuminate\Support\Str; $slice = Str::between('My name is Inigo Montoya.', 'My name is ', '.'); // 'Inigo Montoya'
我喜欢用这种方式从 ()
或 []
之间获取信息、返回 url 中的特定部分、甚至是从 html 标签中解析数据。
它 和empty()
差不多,但是更好用。它根据你传入的参数是否包含实际数据,来返回一个布尔值。
// all of these return true blank(''); blank(' '); blank(null); blank(collect()); // all of these return false blank(true); blank(false); blank(0);
这个辅助函数在结合表单验证、除去 API 中没有规范输入的数据时,特别有用。
它比 empty(trim())
更好用。
我们期待已久的辅助函数, 确定一个字符串中是否包含另一个字符串. 这个问题在 StackOverflow 和其他编程论坛上已经被问过很多次了, 因为目前在普通PHP程序中只能使用 strpos
use Illuminate\Support\Str; $contains = Str::contains('My name is Inigo Montoya.', 'Inigo'); // true $contains = Str::contains('My name is Inigo Montoya.', 'Andrew'); // false
renverra le contenu de la chaîne. Si la chaîne spécifiée n'est pas trouvée, null
est renvoyé.
use Illuminate\Support\Arr; $array = [ ['website' => ['id' => 1, 'url' => 'reddit.com']], ['website' => ['id' => 2, 'url' => 'twitter.com']], ['website' => ['id' => 3, 'url' => 'dev.to']], ]; $names = Arr::pluck($array, 'website.url'); // ['reddit.com', 'twitter.com', 'dev.to']
()
ou []
, en renvoyant des parties spécifiques de l'URL, ou même en analysant les données des balises HTML.
blank()
C'estempty()
, mais il vaut mieux l'utiliser. Il renvoie une valeur booléenne selon que le paramètre que vous transmettez contient ou non des données réelles. $collection = collect(['Keys', 'Krates']); return $collection->map(function ($value) { return Str::upper($value); }); // ['KEYS', 'KRATES'] return $collection->filter(function ($value) { return strlen($value) > 4; }); // ['Krates']
empty(trim())
. Notre fonction d'assistance tant attendue, détermine si une chaîne contient une autre chaîne Cette question est dans StackOverflow et d'autres forums de programmation ont été interrogés à plusieurs reprises, car actuellement seuls strpos
peuvent être utilisés dans les programmes PHP ordinaires.
Avec la récente approbation de la RFC, PHP aura bientôt sa propre méthode str_contains qui rendra cette méthode obsolète. Mais d’ici là, c’est l’une des fonctions d’assistance les plus utiles de Laravel.
Arr::pluck()Cette méthode est sans doute l'une des méthodes les plus puissantes que j'ai répertoriées dans cet article, Arr::pluck
Itère sur un tableau multidimensionnel et récupère toutes les valeurs pour un donné clé. Regardons un exemple simple :rrreee
Passez un tableau et une chaîne de notation par points pour déterminer la valeur clé que nous voulons, puis parcourez le tableau multidimensionnel et renvoyez un tableau unidimensionnel de valeurs correspondant à la clé spécifiée pour nous. 🎜🎜J'ai utilisé cette méthode à plusieurs reprises sur les données API renvoyées (quand je sentais que je n'avais pas besoin d'utiliser toute la collection). Il est très facile d'obtenir un tableau d'identifiants, de noms ou d'autres propriétés sans créer une boucle foreach entière. 🎜🎜🎜collect()🎜🎜🎜Une fois que je découvre les collections, je n'arrête jamais de les utiliser. C'est probablement la fonction d'assistance que j'utilise le plus, et elle vous permet de 🎜convertir un tableau en 🎜ensemble🎜🎜. 🎜🎜Pourquoi est-ce important ? Étant donné que les collections sont livrées avec un grand nombre de 🎜méthodes pratiques🎜, vous pouvez les combiner entre elles pour effectuer diverses opérations de filtrage, de tri et de modification sur le tableau avec les paramètres de fermeture les plus simples. Pas de boucles foreach, pas de variables intermédiaires, juste du code propre. 🎜🎜Regardez cet exemple simple : 🎜rrreee🎜Honnêtement, ce n'est que la pointe de l'iceberg de la collection. Je les utilise tous les deux dans mes projets, en particulier lorsque je traite des ensembles de données volumineux et complexes qui ne proviennent pas d'un modèle de base de données. Les données CSV, les requêtes API externes et les structures de répertoires sont toutes disponibles à partir des collections de dépôt. 🎜🎜🎜C'est ce que je sais maintenant ! 🎜🎜🎜🎜Adresse originale : https://dev.to/aschmelyun/my-favorite-laravel-helpers-and-how-to-use-them-28ij🎜🎜Adresse de traduction : https://learnku.com/laravel /t/43776🎜
Pour plus de connaissances sur la programmation, veuillez visiter : Vidéos de programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!