public function execute(PwThreadDataSource $ds) {
$this->_ds = $ds;都说php声明变量的时候不要指明类型,那这个参数为什么指明了为 PwThreadDataSource类型?而且这是个抽象类,抽象类不是不能声明对象的吗?没搞懂,难道多态?
abstract class PwThreadDataSource { protected $urlArgs = array(); /**
* 获取帖子统计数
*
* @return int
*/
abstract public function getTotal();
/**
* 获取帖子
*
* @param int $limit 获取条目
* @param int $offset 帖子起始偏移量
* @return array
*/
abstract public function getData($limit, $offset);
$this->_ds = $ds;都说php声明变量的时候不要指明类型,那这个参数为什么指明了为 PwThreadDataSource类型?而且这是个抽象类,抽象类不是不能声明对象的吗?没搞懂,难道多态?
abstract class PwThreadDataSource { protected $urlArgs = array(); /**
* 获取帖子统计数
*
* @return int
*/
abstract public function getTotal();
/**
* 获取帖子
*
* @param int $limit 获取条目
* @param int $offset 帖子起始偏移量
* @return array
*/
abstract public function getData($limit, $offset);
解决方案 »
- 能不能查找数据库 条件是一个字段包含某一个数 并且不包含另外一个数
- Discuz!配置文件中的安全设置
- 我想模拟session,但要在用户禁用了cookie后也有效,可以实现么?
- 如何点击IE或者点击鼠标右建菜单“刷新”操作时,使从表单上取得查询条件清空
- js获取php(ecshop smarty模板)数组元素值
- 请问怎么获取域名并自动保存啊
- Dreamweaver MX2004打开PHP文件是乱码的问题?请赐教
- imap函数的问题
- 如何在局域网设置[mail function]中的SMTP.
- 求助,关于取得MySql自增字段。
- 怎么查看目录下的全部文件(包括子目录)?跪求大神帮忙。
- PHP能不能把库一次加载永久使用
参数类型限制,这个不论是接口,抽象类,函数,方法,在5.3+以上版本都可以使用,不过目前只能声明 array object 这两种.PwThreadDataSource就是属于object
php里面不是直接这么用就可以了吗 $a
可是上面的例子,前面加了一个变量类型,我在php没见过这么用的,是什么意思啊
这个 $ds 是形参,这个声明只是为了约定调用者能传入PwThreadDataSource类或其子类的对象,以供函数内代码调用。
这样做也是为了协调编码,至少我不用看注释或代码,就知道该传个怎样的参数进去。
而把甄别工作交予编译器完成is_a -- 如果对象属于该类或该类是此对象的父类则返回 TRUE