Heim >PHP-Framework >Laravel >Ich teile meine sieben Lieblingshilfsfunktionen von Laravel
-Framework-Tutorials aufgeführt, die ich mit Ihnen teilen kann. Ich hoffe, dass es Freunden in Not hilfreich sein wird!
Als PHP-Full-Stack-Entwickler, der hauptsächlich auf Ich teile meine sieben Lieblingshilfsfunktionen von Laravel basiert, 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. Die meisten Methoden in diesem Artikel basieren auf Ich teile meine sieben Lieblingshilfsfunktionen von Laravel7 und früheren Versionen. (Wenn Sie auf Probleme stoßen, überprüfen Sie bitte zuerst, ob es sich um ein Versionskompatibilitätsproblem handelt.)
Lass es uns herausfinden
Str::limit()Unsere erste Hilfsfunktion Ruft einen String ab und verwendet einen Setter, um ihn zu kürzen eine bestimmte Zeichenlängenbeschränkung. 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.
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() gibt das erste Element des Arrays zurück. 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 , um das letzte Element des Arrays abzurufen.
$array = [100, 200, 300]; $last = last($array); // 300Dies ist der beste Ansatz für die Verwendung der Head- und Last-Methoden, da diese das ursprüngliche Array überhaupt nicht beeinflussen.
last
Wie der Name schon sagt, gibt Str::between() den Inhalt in der Zeichenfolge zurück. Wenn die angegebene Zeichenfolge nicht gefunden wird, wird zurückgegeben.
use Illuminate\Support\Str; $slice = Str::between('My name is Inigo Montoya.', 'My name is ', '.'); // 'Inigo Montoya'
Ich mag diese Art, Informationen zwischen oder abzurufen, bestimmte Teile einer URL zurückzugeben oder sogar Daten aus HTML-Tags zu analysieren. null
blank()()
[]
ähnelt , ist aber nützlicher . Es gibt einen booleschen Wert zurück, der darauf basiert, ob der von Ihnen übergebene Parameter tatsächliche Daten enthält.
// all of these return true blank(''); blank(' '); blank(null); blank(collect()); // all of these return false blank(true); blank(false); blank(0);
Diese Hilfsfunktion ist besonders nützlich, wenn sie mit der Formularvalidierung und dem Entfernen von Daten kombiniert wird, die nicht in die API eingegeben wurden. Es funktioniert besser als empty()
.
Str::contains()empty(trim())
bestimmt, ob ein String einen anderen String enthält Diese Frage wurde oft auf StackOverflow und anderen Programmierforen gestellt, da derzeit nur .
use Illuminate\Support\Str; $contains = Str::contains('My name is Inigo Montoya.', 'Inigo'); // true $contains = Str::contains('My name is Inigo Montoya.', 'Andrew'); // false
kann in normalen PHP-Programmen verwendet werden. Mit der jüngsten RFC-Zulassung wird PHP bald über eine eigene str_contains-Methode verfügen, wodurch diese Methode überflüssig wird. Aber bis dahin ist es eine der nützlichsten Hilfsfunktionen in Ich teile meine sieben Lieblingshilfsfunktionen von Laravel. strpos
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: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']Ü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 nutzen. Dies ist wahrscheinlich die Hilfsfunktion, die ich am häufigsten verwende, und sie ermöglicht es Ihnen,ein Array in eine Menge umzuwandeln.
Warum ist das wichtig? Da Sammlungen über eine große Anzahl praktischer Methoden verfügen, können Sie sie 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:
$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']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-la...
Übersetzungsadresse: https://learnku.com/laravel/t/43776
Das obige ist der detaillierte Inhalt vonIch teile meine sieben Lieblingshilfsfunktionen von Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!