# woo-mailerlite/3.1.25/includes/common/WooMailerLiteCollection.php

MailerLite – WooCommerce integration, version 3.1.25. 66 lines.

- Page: https://pluginprobe.com/plugins/woo-mailerlite/3.1.25/code/includes/common/WooMailerLiteCollection.php
- Raw: https://pluginprobe.com/plugins/woo-mailerlite/3.1.25/raw/includes/common/WooMailerLiteCollection.php
- Modified: 2025-08-04T10:38:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/woo-mailerlite/3.1.25/code/includes/common/WooMailerLiteCollection.php#L10-L20`.

```php
<?php

class WooMailerLiteCollection
{
    /**
     * @var array $items
     */
    public $items = [];

    public function __construct(array $items = [])
    {
        $this->items = $items;
    }

    /**
     * Collect items
     * @param array $items
     * @return void
     */
    public function collect(?WooMailerLiteModel $items)
    {
        $this->items[] = $items;
    }

    /**
     * Return array of items
     * @return array
     */
    public function toArray()
    {
        $array = [];
        foreach ($this->items as $model) {
            $array[] = $model->attributes;
        }
        return $array;
    }

    /**
     * Return count of items
     * @return int
     */
    public function count()
    {
        return count(array_filter($this->items));
    }

    public function hasItems()
    {
        return $this->count() > 0;
    }

    public function first()
    {
        return $this->items[0];
    }

    public function last()
    {
        return $this->items[$this->count() - 1];
    }

    public function empty()
    {
        $this->items = [];
    }
}
```
