<?php
require_once 'CartListenerInterface.php';

class 
PresentListener implements CartListenerInterface
{
    private static 
$_PRESENT_TARGET_ITEM '30:クッキーセット';
    private static 
$_PRESENT_ITEM        '99:プレゼント';

    public function 
update(Cart $cart)
    {
        if (
$cart->hasItem(self::$_PRESENT_TARGET_ITEM) && !$cart->hasItem(self::$_PRESENT_ITEM)) {
            
$cart->addItem(self::$_PRESENT_ITEM);
        }
        if (!
$cart->hasItem(self::$_PRESENT_TARGET_ITEM) && $cart->hasItem(self::$_PRESENT_ITEM)) {
            
$cart->removeItem(self::$_PRESENT_ITEM);
        }
    }
}