类中函数的参数能指定为类的属性吗,该怎么解决
程序员文章站
2022-05-04 10:35:00
...
类中函数的参数能指定为类的属性吗
看到一个代码,说是类中的usbUSB函数的参数之一可以是上面的USB这个接口作为参数,如图,没听说过PHP函数中的参数这么使用呢,道理何在?
------解决方案--------------------
如果是颠覆了你的理解的话,那只能说明你的理解是有问题的
所以不是颠覆而应是增强了理解
比如 USB 类有一个 load 方法,而你
function useUSB($usb) {
$usb->load();
}
这样定义,这样调用 $obj->useUSB('abc');
这就会在 $usb->load() 处出现 不存在 load 方法 的错误
于是你就需要在 $usb->load() 之前检查 $usb 是否是对象;是否存在 load 方法
而加上类型声明后,这个检查工作就由 php 解析器去完成了
------解决方案--------------------
function use(USB $usb){}
$usb是由USB类实例化的一个对象指针
比如 $usb1 = USB(); $usb2 = USB(); use($usb1); use($usb2);
看到一个代码,说是类中的usbUSB函数的参数之一可以是上面的USB这个接口作为参数,如图,没听说过PHP函数中的参数这么使用呢,道理何在?
------解决方案--------------------
如果是颠覆了你的理解的话,那只能说明你的理解是有问题的
所以不是颠覆而应是增强了理解
比如 USB 类有一个 load 方法,而你
function useUSB($usb) {
$usb->load();
}
这样定义,这样调用 $obj->useUSB('abc');
这就会在 $usb->load() 处出现 不存在 load 方法 的错误
于是你就需要在 $usb->load() 之前检查 $usb 是否是对象;是否存在 load 方法
而加上类型声明后,这个检查工作就由 php 解析器去完成了
------解决方案--------------------
function use(USB $usb){}
$usb是由USB类实例化的一个对象指针
比如 $usb1 = USB(); $usb2 = USB(); use($usb1); use($usb2);
相关文章
相关视频
上一篇: 基于Python实现excel表格读写
下一篇: PHP如何判断浏览器语言