RVa*_*een 4 php arrays type-hinting laravel
我想知道您是否可以在 php(更明确地 Laravel)中键入一组模型。
一个代码示例:
use App\User;
public function index(User $user)
{
// do something with the user
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,有没有办法对用户模型数组进行类型提示:
use App\User;
public function index(array User $users) //this is wrong ..
{
// do something with the users
}
Run Code Online (Sandbox Code Playgroud)
在 PHP 5.6+ 中,您可以使用可变长度参数列表来实现您想要的。
您在调用函数时解压变量,函数在其签名中使用可变参数。因此,而不是通过一个数组User对象,你解压的array或Collection 的User对象,所有的人都对你提供typehint检查。
例子:
function deleteUsers(User ...$users)
{
// delete the users here
}
$users = [$user1, $user2, $user3];
deleteUsers(...$users);
Run Code Online (Sandbox Code Playgroud)
解包既适用于常规对象,也适用array于 LaravelCollection对象,或任何其他Traversable变量或文字,以输入参数列表。
这相当于执行以下操作:
deleteUsers($user1, $user2, $user3);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2446 次 |
| 最近记录: |