See a code, said to be a class of usbusb function of one of the parameters can be the above USB interface as a parameter, and have not heard the PHP function parameters so use, what is the reason?
Reply to discussion (solution)
function Useusb (USB $usb)
This USB is a type declaration, if the $USB is not a USB type, there will be a syntax error
function Useusb (USB $usb)
This USB is a type declaration, if the $USB is not a USB type, there will be a syntax error
If so, it really upsets my understanding of the function parameters, which I understand is that the function parameter is a variable, can be any value, and there is no type restriction.
If it's a reversal of your understanding, it only means that your understanding is problematic.
So it's not subversive, it's an enhanced understanding.
For example, a USB class has a load method, and you
function Useusb ($USB) {
$usb->load ();
}
This is defined so that the call $obj->useusb (' abc ');
This will cause an error that does not exist in the Load method at the $usb->load ()
Then you need to check whether the $USB is an object before $usb->load (), or if there is a Load method
And with the type declaration, this check is done by the PHP parser.
You still don't understand what I'm talking about, I mean the function useusb the first parameter in the function USB is the interface class USB, I do not understand is here, how the parameters of the function will be a class? What I've seen in many tutorials is that the parameters in the function are a quantity, what you define, a call comes out, but this class, what is going on, is not mentioned in many tutorials. It's extrapolate, it feels incredible. What I don't understand is here.
You don't understand what I mean!
The arguments to the function are separated by commas
and is there a comma between the USB $usb?
Obviously not, then the USB $usb is a parameter
You still don't understand what I'm talking about, I mean the function useusb the first parameter in the function USB is the interface class USB, I do not understand is here, how the parameters of the function will be a class? What I've seen in many tutorials is that the parameters in the function are a quantity, what you define, a call comes out, but this class, what is going on, is not mentioned in many tutorials. It's extrapolate, it feels incredible. What I don't understand is here.
function use (USB $usb) {}
$USB is a pointer to an object instantiated by the USB class
For example $usb 1 = USB (); $usb 2 = USB (); Use ($usb 1); Use ($usb 2);
A little enlightened, through the two-bit solution, is a bit of understanding, I do not know that I do not understand, the function is an expression in the (), the expression can be used to declare the method of the class, such as my example, USB $usb, is not equivalent to $usb=new USB
In this example, the USB $usb
Indicates that the $USB must be an instance of class USB or a class that inherits from USB
In this example, the USB $usb
Indicates that the $USB must be an instance of class USB or a class that inherits from USB
Can $USB be a USB property or method???
No, you must be an instance
function use (USB $usb) {}
Equivalent
function Use ($USB) {
if (! is_a ($USB, ' USB ')) return ' error ';
}