Heim > Artikel > PHP-Framework > [Organisieren und teilen] Mehrere praktische Laravel-Hilfsfunktionen
Als PHP-Full-Stack-Entwickler, der hauptsächlich Laravel verwendet, suche ich in einigen Frameworks häufig nach Methoden, mit denen ich die Entwicklungszeit effektiv verkürzen oder die Codekomplexität reduzieren kann. Im Folgenden habe ich einige gute Hilfsmethoden zusammengestellt, die ich im täglichen Leben häufig verwende. Finden wir es heraus ✨
Die meisten Methoden in diesem Artikel basieren auf Laravel7 und früheren Versionen. (Wenn Sie auf Probleme stoßen, prüfen Sie bitte zuerst, ob es sich um ein Versionskompatibilitätsproblem handelt)
Unsere erste Hilfsfunktion Ruft eine Zeichenfolge ab und schneidet sie mit einer festgelegten Zeichenlängenbeschränkung ab . Es benötigt zwei erforderliche Parameter: die Zeichenfolge, die Sie abschneiden möchten, und die Zeichenlängenbeschränkung für die zurückgegebene abgeschnittene Zeichenfolge. [Verwandte Empfehlungen: Laravel-Video-Tutorial]
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20); // The quick brown fox ...
Sie können auch den dritten optionalen Parameter übergeben, um zu steuern, was nach der zurückgegebenen Zeichenfolge angezeigt wird.
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, '[...]'); // The quick brown fox [...]
Ich finde das perfekt, um einen langen Textblock in eine Zusammenfassung oder Beitragsvorschau für eine Artikelliste zu kürzen.
Diese Funktion ist großartig. Eine einfache Methode besteht normalerweise aus mehreren verschachtelten primitiven PHP-Funktionen. head() wird das erste Element des Arrays zurückgeben. Aufgrund seiner globalen und allgegenwärtigen Natur habe ich es in vielen verschiedenen Anwendungen verwendet.
$array = [100, 200, 300]; $first = head($array); // 100
Möchtest du es andersherum machen? Verwenden Sie die Methode last
, um das letzte Element des Arrays abzurufen. 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'); // falseDies ist der beste Ansatz für die Verwendung der Head- und Last-Methoden, da diese das ursprüngliche Array überhaupt nicht beeinflussen.
in der Zeichenfolge zurück. Wenn die angegebene Zeichenfolge nicht gefunden wird, wird null
zurückgegeben. 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']
Ich mag diese Art, Informationen zwischen ()
oder []
abzurufen, bestimmte Teile der URL zurückzugeben oder sogar Daten aus HTML-Tags zu analysieren.
Es
ist fast dasselbe wieempty()
, aber besser zu verwenden$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']Diese Hilfsfunktion ist besonders nützlich, wenn sie mit der Formularvalidierung kombiniert wird, um Daten zu entfernen, die nicht in der API-Spezifikation eingegeben sind.
empty(trim())
. Str::contains()Unsere lang erwartete Hilfsfunktion
bestimmt, ob ein String einen anderen String enthält Diese Frage steht in StackOverflow und andere Programmierforen wurden oft gefragt, da derzeit nur strpos
in gewöhnlichen PHP-Programmen verwendet werden kann.rrreee
Arr::pluck()
Diese Methode ist wohl eine der leistungsfähigeren Methoden, die ich in diesem Artikel aufgeführt habe. Arr::pluck Iteriert über ein mehrdimensionales Array und ruft alle Werte für einen gegebenen Wert ab Schlüssel
.Schauen wir uns ein einfaches Beispiel an:
rrreeeÜbergeben Sie ein Array und eine Punktnotationszeichenfolge, um den gewünschten Schlüsselwert zu bestimmen, durchlaufen Sie dann das mehrdimensionale Array und geben Sie ein eindimensionales Array von Werten zurück entsprechend dem angegebenen Schlüssel an uns.
🎜Ich habe diese Methode viele Male für die zurückgegebenen API-Daten verwendet (als ich das Gefühl hatte, dass ich nicht die gesamte Sammlung verwenden musste). Es macht es sehr einfach, ein Array von IDs, Namen oder anderen Eigenschaften abzurufen, ohne eine ganze foreach-Schleife zu erstellen. 🎜🎜🎜collect()🎜🎜🎜Sobald ich von Sammlungen erfahren habe, höre ich nie auf, sie zu verwenden. Dies ist wahrscheinlich die Hilfsfunktion, die ich am häufigsten verwende, und sie ermöglicht es Ihnen, 🎜ein Array in einen 🎜Satz umzuwandeln🎜🎜. 🎜🎜Warum ist das wichtig? Da Sammlungen über eine große Anzahl praktischer Methoden verfügen, können Sie sie miteinander kombinieren, um mit den einfachsten Abschlussparametern verschiedene Filter-, Sortier- und Änderungsvorgänge für das Array durchzuführen. Keine foreach-Schleifen, keine Zwischenvariablen, nur sauberer Code. 🎜🎜Schauen Sie sich dieses einfache Beispiel an: 🎜rrreee🎜Ehrlich gesagt, das ist nur die Spitze des Sammlungseisbergs. Ich verwende beide in meinen Projekten, insbesondere wenn ich mit großen und komplexen Datensätzen zu tun habe, die nicht aus einem Datenbankmodell stammen. CSV-Daten, externe API-Anfragen und Verzeichnisstrukturen sind alle in Drop-Collections verfügbar. 🎜🎜🎜Das weiß ich jetzt! 🎜🎜🎜🎜Originaladresse: https://dev.to/aschmelyun/my-favorite-laravel-helpers-and-how-to-use-them-28ij🎜🎜Übersetzungsadresse: https://learnku.com/laravel /t/43776🎜
Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmiervideos! !
Das obige ist der detaillierte Inhalt von[Organisieren und teilen] Mehrere praktische Laravel-Hilfsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!