Laravel返回文档中缺少的值?

时间:2013-11-12 21:29:10

标签: laravel laravel-4

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?

我是否忽略了某些事情,或者我们只是试图将其解决?

1 个答案:

答案 0 :(得分:2)

<强> TL; DR

查看Laravel API网站上的所有源代码。它写得非常好,易于理解。您应该能够快速回答所有这些问题并学习新功能。

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

Laravel既大又强大,很难记录每件小事。但是,使用API​​网站,您可以找到所有这些问题的答案,并发现TONS的整洁,无证的小技巧和对待。

Laravel API

Mail::send()示例

以您的Mail::send()为例。在API网站,我们可以搜索邮件并浏览到Illuminate/Mail/Mailer.php page

从那里我们可以查看send() Line 94 方法的代码,并看到它返回对$this->sendSwiftMessage($message)的调用。

从那里开始,我们可以查看sendSwiftMessage() Line 281方法的代码,看看它是否会调用$this->swift->send($message)

通过Mail类,我们了解到$this->swift只是Swift_Mailer类Line 56的一个实例。 Laravel文档实际上mention,Mail类是流行的Swift_Mailer的包装器。

无论如何,现在我们需要找到Swift_Mailer库中的send()方法返回的内容。我们在Swift_Mailer website看到的地方,send()方法实际上返回了发送给它的收件人数,或0失败时。

  

Swift_Mailer本身实际上有更多用处   信息,例如实际失败的收件人是谁。然而,   Laravel目前不公开此信息。如果你想   获得访问Swift_Mailer的其他功能,你必须要么   扩展Mail类或使用Swift_Mailer类   直接

这实际上意味着,是的,您可以使用true / false检查来确定成功,因为0将评估为false,并且任何正数,非零数字将在PHP中评估为true。但是,我也相信Laravel会在大多数情况下出现问题时抛出异常,但是这可能是一个原谅双关语的异常,它不会抛出Exception

虽然这有点长篇大论,可能是一个比较复杂的例子。 Laravel提供的绝大多数内容都快速,易于查找和理解。

通过API是发现框架的大量未记录功能的好方法。例如,只需转到Str课程,您就会看到很多可以使用的简洁实用的东西。

Input::get()示例

如果没有详细说明,Input::get最终会调用array_get()辅助函数Link,它将按优先级顺序返回以下内容。

  1. 存储在密钥中的值。
  2. 传递给Input::get()方法的默认值。