在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?
我是否忽略了某些事情,或者我们只是试图将其解决?
答案 0 :(得分:2)
<强> TL; DR 强>
查看Laravel API网站上的所有源代码。它写得非常好,易于理解。您应该能够快速回答所有这些问题并学习新功能。
=========================================
Laravel既大又强大,很难记录每件小事。但是,使用API网站,您可以找到所有这些问题的答案,并发现TONS的整洁,无证的小技巧和对待。
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
的其他功能,你必须要么 扩展Swift_Mailer
类 直接
这实际上意味着,是的,您可以使用true / false检查来确定成功,因为0
将评估为false,并且任何正数,非零数字将在PHP中评估为true。但是,我也相信Laravel会在大多数情况下出现问题时抛出异常,但是这可能是一个原谅双关语的异常,它不会抛出Exception
。
虽然这有点长篇大论,可能是一个比较复杂的例子。 Laravel提供的绝大多数内容都快速,易于查找和理解。
通过API是发现框架的大量未记录功能的好方法。例如,只需转到Str
课程,您就会看到很多可以使用的简洁实用的东西。
Input::get()
示例
如果没有详细说明,Input::get
最终会调用array_get()
辅助函数Link,它将按优先级顺序返回以下内容。
Input::get()
方法的默认值。