<?php namespace System;

class Package {

	/**
	 * All of the loaded packages.
	 *
	 * @var array
	 */
	public static $loaded = array();

	/**
	 * Load a package or set of packages.
	 *
	 * @param  string|array  $packages
	 * @return void
	 */
	public static function load($packages)
	{
		foreach ((array) $packages as $package)
		{
			if ( ! static::loaded($package) and file_exists($bootstrap = PACKAGE_PATH.$package.'/bootstrap'.EXT))
			{
				require $bootstrap;
			}

			static::$loaded[] = $package;
		}
	}

	/**
	 * Determine if a given package has been loaded.
	 *
	 * @param  string  $package
	 * @return bool
	 */
	public static function loaded($package)
	{
		return array_key_exists($package, static::$loaded);
	}

}