0

Laravel documentationでは、次のような基本的な Laravel 関数の戻り値が見つかりません。

Mail::send(...)       // does this return true/false if successful?
Input::get('foo')     // what is returned when foo is not set?
Request::segment(2)   // what is returned if there isn't a second segment?

私は何かを見落としているのでしょうか、それとも試行錯誤を繰り返してこれらを見つけ出してしまったのでしょうか?

4

1 に答える 1

2

TL;DR

すべてのソース コードについては、Laravel API Web サイトを参照してください。それは非常によく書かれており、従うのは簡単です。これらすべての質問に答え、新しい機能を非常に迅速に学習できる必要があります。

=========================================

Laravel は巨大で強力なため、すべての小さなことを文書化するのは困難です。ただし、API サイトを使用すると、これらすべての質問に対する回答を見つけたり、文書化されていない巧妙な小さなトリックや扱いを数多く発見したりできます。

ララベル API

Mail::send()

たとえば、あなたのMail::send()例を見てください。API サイトで、Mail を検索してIlluminate/Mail/Mailer.php ページを参照できます。

そこからsend() 94 行目のメソッドのコードを見ると、. への呼び出しが返されることがわかります$this->sendSwiftMessage($message)

そこから、sendSwiftMessage() 281 行目のメソッドのコードを見ると、 の呼び出しが返されることがわかります$this->swift->send($message)

Mail クラスを調べてみると、これ$this->swiftは単に Swift_Mailer クラスLine 56のインスタンスであることがわかります。Laravel のドキュメントでは、Mail クラスが人気のある Swift_Mailer のラッパーであると実際に述べています。

とにかく、send()Swift_Mailer ライブラリのメソッドが返すものを見つける必要があります。Swift_Mailer のWeb サイトを見ると、このsend()メソッドは実際には送信先の受信者の数を返すか0、失敗した場合に返します。

Swift_Mailer 自体は、実際に失敗した受信者など、かなり有用な情報を実際に利用できます。ただし、Laravel は現時点でこの情報を公開していません。の他の機能にアクセスしたい場合は、クラスSwift_Mailerを拡張するか、MailおそらくSwift_Mailerクラスを直接使用する必要があります。

これは本質的に、はい、真/偽チェックを使用して成功を判断できることを意味します。これ0は、PHP で false と評価され、0 以外の正の数値が true と評価されるためです。ただし、ほとんどの場合と同様に、何か問題が発生した場合、Laravelは例外をスローすると思いますが、これは、しゃれを許して、例外をスローしない可能性がありますException

これは少し長くなりましたが、おそらくより複雑な例の 1 つです。Laravel が提供するものの大部分は、すばやく簡単に検索して理解できます。

API を調べることは、フレームワークの文書化されていない機能の多くを発見するための優れた方法です。たとえば、Strクラスに行くだけで、使用できる便利で便利なものがたくさんあります。

Input::get()

詳細には触れずに、ヘルパー関数LinkInput::getを呼び出すことになります。これは、優先度順に以下を返します。array_get()

  1. キーに格納されている値。
  2. Input::get()メソッドに渡されるデフォルト値。
  3. ヌル
于 2013-11-12T21:46:59.797 に答える