public static function createFromArray(array $input)
    {
        if (3 != count($input)) {
            throw new InvalidArgumentException(
                sprintf("%s() expects an array with exactly three elements", __METHOD__)
            );
        }
        if (array_key_exists('A', $input) && array_key_exists('B', $input) && array_key_exists('C', $input)) {
            return new self($input['A'], $input['B'], $input['C']);
        }
        return new self(array_shift($input), array_shift($input), array_shift($input));
    }
public static function createFromArray(array $input)
    {
        if (3 != count($input)) {
            throw new InvalidArgumentException(
                sprintf("%s() expects an array with exactly three elements", __METHOD__)
            );
        }
        if (array_key_exists('A', $input) && array_key_exists('B', $input) && array_key_exists('C', $input)) {
            return new self($input['A'], $input['B'], $input['C']);
        }
        return new self(array_shift($input), array_shift($input), array_shift($input));
    }
public static function createFromArray ( array $ input ) { if ( 3 != count ( $ input ) ) { throw new InvalidArgumentException ( sprintf ( "%s() expects an array with exactly three elements" , __METHOD__ ) ) ; } if ( array_key_exists ( 'A' , $ input ) && array_key_exists ( 'B' , $ input ) && array_key_exists ( 'C' , $ input ) ) { return new self ( $ input [ 'A' ] , $ input [ 'B' ] , $ input [ 'C' ] ) ; } return new self ( array_shift ( $ input ) , array_shift ( $ input ) , array_shift ( $ input ) ) ; }
Creates a Line from a given array

@param array $input
@return self
@throws InvalidArgumentException
Creates a Line from a given array