Heim > PHP-Framework > Laravel > Hauptteil

[Organisieren und teilen] Mehrere praktische Laravel-Hilfsfunktionen

青灯夜游
Freigeben: 2022-12-28 21:01:06
nach vorne
1626 Leute haben es durchsucht

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 ✨

[Organisieren und teilen] Mehrere praktische Laravel-Hilfsfunktionen

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)

Str::limit()

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 ...
Nach dem Login kopieren

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 [...]
Nach dem Login kopieren

Ich finde das perfekt, um einen langen Textblock in eine Zusammenfassung oder Beitragsvorschau für eine Artikelliste zu kürzen.

head()

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
Nach dem Login kopieren

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
Nach dem Login kopieren

这是关于使用head和last方法的最佳方法,因为它们根本不影响原始数组。

Str::between()

顾名思义, Str::between() 会 返回字符串中的内容。如果没有找到指定字符串,返回 null

use Illuminate\Support\Str;

$slice = Str::between('My name is Inigo Montoya.', 'My name is ', '.');

// 'Inigo Montoya'
Nach dem Login kopieren

我喜欢用这种方式从 ()[] 之间获取信息、返回 url 中的特定部分、甚至是从 html 标签中解析数据。

blank()

它 empty()差不多,但是更好用。它根据你传入的参数是否包含实际数据,来返回一个布尔值。

// all of these return true
blank('');
blank('   ');
blank(null);
blank(collect());

// all of these return false
blank(true);
blank(false);
blank(0);
Nach dem Login kopieren

这个辅助函数在结合表单验证、除去 API 中没有规范输入的数据时,特别有用。
它比 empty(trim()) 更好用。

Str::contains()

我们期待已久的辅助函数, 确定一个字符串中是否包含另一个字符串. 这个问题在 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
Nach dem Login kopieren
Dies ist der beste Ansatz für die Verwendung der Head- und Last-Methoden, da diese das ursprüngliche Array überhaupt nicht beeinflussen.

Str::between()

Wie der Name schon sagt, gibt Str::between() den Inhalt

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']
Nach dem Login kopieren
Ich mag diese Art, Informationen zwischen () oder [] abzurufen, bestimmte Teile der URL zurückzugeben oder sogar Daten aus HTML-Tags zu analysieren.

blank()

Es

ist fast dasselbe wie empty(), aber besser zu verwenden

. Es gibt einen booleschen Wert zurück, der darauf basiert, ob der von Ihnen übergebene Parameter tatsächliche Daten enthält.
$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']
Nach dem Login kopieren
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.
Es ist besser zu verwenden als 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

Mit der jüngsten RFC-Genehmigung, PHP wird bald eine eigene str_contains-Methode haben, die diese Methode überflüssig machen wird. Aber bis dahin ist es eine der nützlichsten Hilfsfunktionen in Laravel.

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!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!