TL;博士
查看 Laravel API 网站以获取所有源代码。它写得非常好,易于理解。您应该能够回答所有这些问题并快速学习新功能。
==========================================
Laravel 像它一样大而强大,因此很难记录每一件小事。但是,使用 API 站点,您可以找到所有这些问题的答案,并发现大量整洁的、未记录的小技巧和款待。
Laravel 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网站上看到,该send()方法实际上返回了它被发送到的收件人的数量,或者0失败时的收件人数量。
Swift_Mailer 本身实际上有更多有用的信息,例如实际失败的收件人是谁。然而,Laravel 目前还没有公开这些信息。如果您想访问Swift_Mailer的其他功能,则必须扩展Mail该类或Swift_Mailer直接使用该类。
这实质上意味着,是的,您可以使用真/假检查来确定成功,因为0将评估为假,并且任何正的非零数字将在 PHP 中评估为真。但是,我也相信 Laravel 会在出现问题时抛出异常,就像在大多数情况下一样,但这可能是一个,原谅双关语,它不会抛出Exception.
虽然这有点啰嗦,而且可能是更复杂的例子之一。Laravel 提供的绝大多数东西都是快速、易于查找和理解的。
浏览 API 是发现框架中大量未记录功能的好方法。例如,只要去Str上课,你就会看到很多可以使用的整洁、有用的东西。
Input::get()例子
无需赘述,Input::get最终调用array_get()帮助函数Link,它将按优先级顺序返回以下内容。
- 存储在键中的值。
- 传递给
Input::get()方法的默认值。
- 无效的