/** * Construct a Deployment from an Array of data, typically from * JSON from the API. */ public static function fromArray($options) { $name = "\\Myna\\Data\\Deployment::fromArray"; $uuid = \Myna\Arr::get_or_error($options, 'uuid', $name); $apiKey = \Myna\Arr::get_or_error($options, 'apiKey', $name); $apiRoot = \Myna\Arr::get_or_error($options, 'apiRoot', $name); $latest = \Myna\Arr::get_or_error($options, 'latest', $name); $experiments = array(); $expts = \Myna\Arr::get($options, 'experiments', array()); foreach ($expts as $expt) { array_push($experiments, Experiment::fromArray($expt)); } return new Deployment($uuid, $apiKey, $apiRoot, $latest, $experiments); }