【发布时间】:2011-01-18 20:32:29
【问题描述】:
这样count($object)会返回其中的记录数
【问题讨论】:
这样count($object)会返回其中的记录数
【问题讨论】:
class MyClass implements Countable {
public function count() {
//return count
}
}
$c = new MyClass();
count($c); //calls $c->count();
【讨论】:
如果你安装了标准 PHP 库,你应该能够简单地在你的类中实现 Countable,然后定义 count() 函数:
class foo implements Countable {
...
public function count() {
# do stuff here
return $count;
}
}
在此处阅读有关 SPL 的更多信息: http://www.php.net/manual/en/book.spl.php
这里有更多关于 Countable 接口的信息: http://php.net/manual/en/countable.count.php
【讨论】:
请注意,如果您的类是命名空间,则必须为 Countable 接口提供根命名空间:
namespace App;
class MyClass implements Countable {
public function count() {
//return count
}
}
上面抛出错误:
找不到接口“App\Countable”
求解(注意Countable前面的斜线):
namespace App;
class MyClass implements \Countable {
public function count() {
//return count
}
}
(仅供参考,不确定这是否是 Laravel 特有的,但我认为不是。)
【讨论】: