/**
* Alias a type to a different name.
*
* @param string $abstract
* @param string $alias
* @return void
*/
public function alias($abstract, $alias)
{
$this->aliases[$alias] = $this->normalize($abstract);// i know this ,set the alias as a key , abstract function as a value.
}// a easy function that to set a alias for a different name

/**
* Extract the type and alias from a given definition.
*
* @param array $definition
* @return array
*/
protected function extractAlias(array $definition)
{
return [key($definition), current($definition)];
}// function 'key' is get the current key.
// function 'current' is get the current value,
// so that means to get the current array