Public & nbsp; function & nbsp; execute (PwThreadDataSource & nbsp; $ ds) & nbsp ;{$ this-& gt; _ ds & nbsp ;=& nbsp; $ ds; php does not specify the parameter type when declaring variables.
public function execute(PwThreadDataSource $ds) {
$this->_ds = $ds;
Php does not specify the type when declaring Variables. Why does this parameter specify the type of PwThreadDataSource? And this is an abstract class. isn't it possible to declare an object? I don't understand. Is it a polymorphism?
Abstract class PwThreadDataSource {
Protected $ urlArgs = array ();
/**
* Obtain the number of Post statistics
*
* @ Return int
*/
Abstract public function getTotal ();
/**
* Get Post
*
* @ Param int $ limit get entries
* @ Param int $ offset the starting offset of the post
* @ Return array
*/
Abstract public function getData ($ limit, $ offset );
------ Solution --------------------
Execute (PwThreadDataSource $ ds)
This $ ds parameter is a form parameter. this declaration only serves to stipulate that the caller can pass in objects of the PwThreadDataSource class or its subclass for the code in the function to call.
This is also done to coordinate the encoding. at least I don't need to read comments or code to know what parameters should be passed in.