ホームページ >PHPフレームワーク >Laravel >私のお気に入りの 7 つの Laravel ヘルパー関数を共有する

私のお気に入りの 7 つの Laravel ヘルパー関数を共有する

藏色散人
藏色散人転載
2020-08-12 13:39:532802ブラウズ

私のお気に入りの 7 つの Laravel ヘルパー関数を共有する フレームワークチュートリアルのコラムです。

私のお気に入りの 7 つの Laravel ヘルパー関数を共有する私は主に 私のお気に入りの 7 つの Laravel ヘルパー関数を共有する をベースとした PHP フルスタック開発者として、開発時間を効果的に短縮したり、コードを削減したりするために使用できるフレームワークをよく探します。アプローチ。

以下は、私が日常生活でよく使用する、優れた補助方法をまとめたものです。この記事のメソッドのほとんどは 私のお気に入りの 7 つの Laravel ヘルパー関数を共有する7 以前のバージョンに基づいています。 (問題が発生した場合は、まずバージョンの互換性の問題かどうかを確認してください)

調べてみましょう

Str::limit()

最初のヘルパー関数 は文字列を受け取り、設定された文字長制限

でそれを切り捨てます。これには、切り詰める文字列と、返される切り詰められた文字列の文字長制限という 2 つの必須パラメータが必要です。

use Illuminate\Support\Str;

$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20);

// The quick brown fox ...
3 番目のオプションのパラメータを渡して、返された文字列の後に表示される内容を制御することもできます。
use Illuminate\Support\Str;

$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, '[...]');

// The quick brown fox [...]

これは、大きなテキスト ブロックを要約して記事リストのポスト プレビューに短縮するのに最適だと思います。

head()

この関数は素晴らしいです。単純なメソッドは通常、いくつかのネストされたプリミティブ PHP 関数で構成され、head() は 配列の最初の要素

を返します。そのグローバルでユビキタスな性質により、私はこれをさまざまなアプリケーションで使用してきました。

$array = [100, 200, 300];

$first = head($array);

// 100
逆のことをしてみませんか? last

メソッドを使用して、配列の最後の要素を取得します。

$array = [100, 200, 300];

$last = last($array);

// 300
これは、元の配列にまったく影響を与えないため、head メソッドと last メソッドの使用に関する最良のアプローチです。

Str::between()

名前が示すように、Str::between() は 文字列のコンテンツ

を返します。指定された文字列が見つからない場合は、

null が返されます。

use Illuminate\Support\Str;

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

// 'Inigo Montoya'
私は、このメソッドを使用して、()

または

[] から情報を取得したり、URL の特定の部分を返したり、HTML タグ データを解析したりするのが好きです。 blank()

これ

empty()

に似ていますが、 を使用する方がよいでしょう。渡したパラメータに実際のデータが含まれているかどうかに基づいてブール値を返します。 <pre class="brush:js;toolbar:false;">// all of these return true blank(&amp;#39;&amp;#39;); blank(&amp;#39; &amp;#39;); blank(null); blank(collect()); // all of these return false blank(true); blank(false); blank(0);</pre>このヘルパー関数は、API 仕様に入力されていないデータを削除するフォーム検証と組み合わせると特に便利です。

empty(trim())

よりも使用する方が良いでしょう。
Str::contains()

待望の補助関数、文字列に別の文字列が含まれているかどうかを判断します

。 StackOverflow やその他のプログラミング フォーラムで何度も議論されています。現在、通常の PHP プログラムには

strpos.

use Illuminate\Support\Str;

$contains = Str::contains(&#39;My name is Inigo Montoya.&#39;, &#39;Inigo&#39;);

// true

$contains = Str::contains(&#39;My name is Inigo Montoya.&#39;, &#39;Andrew&#39;);

// false
しか含まれていないためです。最近の RFC の承認により、PHP は間もなく、このメソッドを作成する独自の str_contains メソッドを備えることになります。廃止。しかしそれまでは、これは 私のお気に入りの 7 つの Laravel ヘルパー関数を共有する で最も便利なヘルパー関数の 1 つです。

Arr::pluck()

このメソッドはおそらく、この記事でリストしたより強力なメソッドの 1 つです。Arr::pluck Iterate over a多次元配列を使用して、指定されたキーのすべての値

を取得します。

簡単な例を見てみましょう:

use Illuminate\Support\Arr;

$array = [
    [&#39;website&#39; => [&#39;id&#39; => 1, &#39;url&#39; => &#39;reddit.com&#39;]],
    [&#39;website&#39; => [&#39;id&#39; => 2, &#39;url&#39; => &#39;twitter.com&#39;]],
    [&#39;website&#39; => [&#39;id&#39; => 3, &#39;url&#39; => &#39;dev.to&#39;]],
];

$names = Arr::pluck($array, &#39;website.url&#39;);

// [&#39;reddit.com&#39;, &#39;twitter.com&#39;, &#39;dev.to&#39;]

配列とドット表記文字列を渡して必要なキー値を決定し、多次元配列を反復処理して、指定されたキーを割り当てます。対応する値の 1 次元配列が返されます。

私は、返された API データに対してこのメ​​ソッドを何度も使用しました (コレクション全体を使用する必要がないと感じた場合)。これにより、foreach ループ全体を作成せずに、ID、名前、またはその他のプロパティの配列を非常に簡単に取得できます。

collect()

コレクションに関する情報を一度見つけたら、その使用をやめることはありません。これはおそらく私が最もよく使っているヘルパー関数です。配列をコレクションに変換できます

。 ######何でこれが大切ですか?コレクションには多数の便利なメソッドが付属しているため、それらを組み合わせて、最も単純なクロージャー パラメーターを使用して配列に対してさまざまなフィルター処理、並べ替え、および変更操作を実行できます。 foreach ループや中間変数はなく、クリーンなコードだけです。

この簡単な例を見てください:

$collection = collect([&#39;Keys&#39;, &#39;Krates&#39;]);

return $collection->map(function ($value) {
    return Str::upper($value);
});

// [&#39;KEYS&#39;, &#39;KRATES&#39;]

return $collection->filter(function ($value) {
    return strlen($value) > 4;
});

// [&#39;Krates&#39;]

正直に言うと、これはコレクションの氷山の一角にすぎません。私はプロジェクトで、特にデータベース モデルから取得されていない大規模で複雑なデータ セットを扱う場合に、両方を使用します。 CSV データ、外部 API リクエスト、ディレクトリ構造はすべてドロップ コレクションから入手できます。

これが私が今知っていることです!

元のアドレス: https://dev.to/aschmelyun/my-favorite-la...

翻訳アドレス: https://learnku.com/laravel/t/43776

以上が私のお気に入りの 7 つの Laravel ヘルパー関数を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。