一个方法声明如下,
public function a(User $user){ //xxx }
则调用时只能传递User类的实例:
a(new User());
那,当参数为对象数组时,如何限定参数数组中元素的类型,比如:
public function a($user_array){ //xxx }
这里我想限制调用时传入的参数为User实例的数组,请问是否可以实现 ?如何实现?
感激不尽 !!!
不行
但是如果你通过 IDE 如 JetBrains 的 phpstorm 你可以使用 phpdoc 让 IDE 认为你的那个参数是一个对象数组,会让 IDE 提示错误,但是 php 运行时是不会有错误的.
<?php class User {} /** * @param $user_array User[] */ function a($user_array){ }
548k questions
547k answers
4 comments
86.3k users