php - PHP将对象声明为函数参数的数组
问题描述
我对 PHP 很陌生。我在将对象声明为函数参数的数组时遇到问题。在 Java 中,我只是public void methodName (List<Object> listVariableName){}
用于传递许多对象的列表。
我在 PHP 中做了一些研究,其中一个答案建议array
像这样放入方法参数声明function myFunction($a, array Object $obj){}
目前,我有一个名为Lesson
class Lesson implements JsonSerializable{
private $lessonId;
private $lessonNo;
private $lessonTitle;
private $isLessonActive;
private $isLessonRemoved;
//getters and setter here....
}
然后我试图声明一个名为的方法addTopicLesson
function addTopicLesson(Topic $topic, array Lesson $lesson){
}
但是,我遇到了一个错误array Lesson $lesson
有 1 个主题和许多课程。我该如何去实现或定义方法签名?
我找到了这个,但我想知道是否有比调用自身更好的方法。
我很感激任何建议。
谢谢你。
解决方案
List<T>
不是数组。这是一个利用泛型类型机制的列表。
PHP 中没有泛型。您只能输入提示,array
但您无法在方法声明级别控制其中的内容。
推荐阅读
- vue.js - 在独立项目中拆分整体前端并将它们组合在一个页面中
- powershell - powershell 提取部分输出
- python - asyncssh - 如何在仍然获取用户输入的同时创建侦听器
- javascript - 这是发送 GET 请求 URL 的正确语法吗?
- matlab - Matlab:复制单元格数组的子范围
- bluetooth-lowenergy - 使用通用信标库扫描信标
- java - Maven 通过 MAVEN_OPTS 指定设置文件位置
- ios - FCM - iOS 设备上的重复通知
- git - 使用现有源代码在 git 的子文件夹中创建新的 Git 存储库
- excel - 除了包含我正在搜索的值的行之外,是否有代码可以用来隐藏所有行?