src/components/contracts/Support/DataContainer.php
<?php
/**
* Part of the Antares package.
*
* NOTICE OF LICENSE
*
* Licensed under the 3-clause BSD License.
*
* This source file is subject to the 3-clause BSD License that is
* bundled with this package in the LICENSE file.
*
* @package Antares Core
* @version 0.9.0
* @author Antares Team
* @license BSD License (3-clause)
* @copyright (c) 2017, Antares
* @link http://antaresproject.io
*/
namespace Antares\Contracts\Support;
interface DataContainer
{
/**
* Get a item value.
*
* @param string $key
* @param mixed $default
*
* @return mixed
*/
public function get($key, $default = null);
/**
* Set a item value.
*
* @param string $key
* @param mixed $value
*
* @return mixed
*/
public function set($key, $value = null);
/**
* Check if item key has a value.
*
* @param string $key
*
* @return bool
*/
public function has($key);
/**
* Remove a item key.
*
* @param string $key
*
* @return void
*/
public function forget($key);
/**
* Get all available items.
*
* @return array
*/
public function all();
}