reinvanoyen/oak-wishlist

There is no license information available for the latest version (1.0.1) of this package.

Wishlist for Oak

1.0.1 2019-09-19 12:55 UTC

This package is auto-updated.

Last update: 2024-04-19 23:08:53 UTC


README

A simple wishlist implementation for DRY applications

Installation

composer require reinvanoyen/oak-wishlist

Example usage

Prepare your item
<?php

use Tnt\Wishlist\Contracts\WishlistItemInterface;

class Product implements WishlistItemInterface
{
    public static function getByWishlistId(int $id): ?WishlistItemInterface
    {
        // get the product by id
    }
    
    public function getWishlistId(): int
    {
        return 1;
    }
    
    public function serialize(): array
    {
        return [
            'id' => $this->getWishListId(),
            'title' => 'Your wishlistable product #1',
        ];
    }
}
Use of the facade
<?php

use Tnt\Wishlist\Facade\Wishlist;

$product = new Product();

// Add an item
Wishlist::add($product);

// Remove an item
Wishlist::remove($product);

// Check if an item is wishlisted
if (Wishlist::has($product)) {
    echo 'Yes, it is a wishlisted item!';
}

// Retrieve all wishlisted items
Wishlist::getItems();

// Clear all items from the wishlist
Wishlist::clear();