Як використовувати інтерфейс countable в php.
Всім привіт! У цій статті ми розглянемо, як використовувати інтерфейс для рахунку в PHP.
Інтерфейс для рахунку робить ваші класи дуже гнучкими, якщо вони стосуються зберігання елементів. Наприклад, це дасть вам можливість використовувати функцію count () в PHP для об`єкта, щоб повернути деякий пораховані число. Зовсім не важливо, що це за об`єкт, головне, що можна порахувати.
Давайте розглянемо приклад:
classCollection{
protected $ items =[] -
publicfunction __construct(array $ items){
$ this-gt;items = $ items-
}
publicfunction count(){
return count($ this-gt;items) -
}
}
$ collection =newCollection([`One`,`Two`,`Three`]) -
echo $ collection-gt;count() -
Ідея така: ви маєте кілька предметів, що зберігається в колекції, ви можете передати їх в конструктор при створенні екземпляра об`єкта, ви можете мати інші методи, які будуть додавати предмети, але в нашому прикладі ми обмежимося конструктором. Далі ми створюємо нову колекцію, куди передаємо три предмети (в нашому випадку це рядки). Тепер ми використовуємо написаний нами метод count (), в якому поміщаємо масив у функцію count () і повертаємо результат.
Якщо ми запустимо приклад, то побачимо 3, що і очікувалося. Однак використання цього інтерфейсу говорить нам про те, що ми не будемо писати щось на зразок цього:
if($ collection-gt;count()gt;0){
}
Ми можемо поліпшити це, написавши ось так:
if(count($ collection)gt;0){
}
Це буде працювати, але ми не отримаємо очікуваного результату, так як функція з аргументом у вигляді об`єкта поверне нам логічне значення 1.
Щоб все почало працювати так, як ми хочемо, потрібно всього лише додати успадкування від інтерфейсу. Ось так:
classCollectionimplementsCountable{
// код
}
Тепер при виконанні функції count () з аргументом у вигляді об`єкта автоматично буде викликатися написаний нами метод count (), і все буде працювати правильно.
Countable - це дуже простий, але корисний інтерфейс, який дозволяє легко і просто робити підрахунки. Більш детальну інформацію ви можете знайти на офіційному сайті PHP.
Отже, на цьому сьогодні все. Дякую за увагу!
- Як працювати з api вконтакте
- Синій екран смерті 0x0000000c
- Як дізнатися кількість записів в sql-вибірці
- Як динамічно отримувати коментарі з бази даних.
- Як проводити рефакторинг?
- Конструкція where в sql
- Багаторівневе меню на php і mysql
- Вивчаємо coffeescript. Класи.
- Об`єкт array в jаvascript
- Графічний лічильник на php
- Модифікатори доступу в php
- Статичні властивості і методи в php
- Клас для роботи з базою даних
- Створення класу в php
- Nodejs. Модулі.
- Новинки в php7. Частина 7.
- Цикли в php
- Навігація по сторінках на php
- Створення об`єктів в jаvascript
- Створення движка на mvc. Створюємо авторизацію.
- Пошук по файлах на php