Как реализовать счетный интерфейс в PHP? - PullRequest
6 голосов
/ 19 февраля 2010

Так что count($object) вернет количество записей в нем

Ответы [ 3 ]

9 голосов
/ 19 февраля 2010

Если у вас установлена ​​стандартная библиотека 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

6 голосов
/ 19 февраля 2010

Взгляните на Счетный :: Количество

class MyClass implements Countable {
    public function count() {
        //return count
    }
}

$c = new MyClass();
count($c); //calls $c->count();
0 голосов
/ 09 октября 2018

Обратите внимание, что если ваш класс namespaced , вы должны дать интерфейсу 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, но я предполагаю, что нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...