Scalr\Model\Entity\FarmRole::__get PHP Method

__get() public method

Gets the values of the properties that require initialization.
public __get ( string $name ) : mixed
$name string Name of property that is accessed
return mixed Returns property value
    public function __get($name)
    {
        switch ($name) {
            case 'settings':
                if (empty($this->_settings)) {
                    $this->_settings = new SettingsCollection('Scalr\\Model\\Entity\\FarmRoleSetting', [['farmRoleId' => &$this->id]], ['farmRoleId' => &$this->id]);
                }
                return $this->_settings;
                // @deprecated
            // @deprecated
            case 'farm':
                if (empty($this->_farm) && !empty($this->farmId)) {
                    $this->_farm = Farm::findPk($this->farmId);
                }
                return $this->_farm;
                // @deprecated
            // @deprecated
            case 'role':
                if (!empty($this->roleId)) {
                    if (empty($this->_role) || $this->_role->id != $this->roleId) {
                        $this->_role = Role::findPk($this->roleId);
                    }
                }
                return $this->_role;
            case 'farmRoleMetrics':
                if (empty($this->_farmRoleMetrics)) {
                    $farmRoleMetrics = [];
                    /* @var $farmRoleMetric FarmRoleScalingMetric */
                    foreach (FarmRoleScalingMetric::findByFarmRoleId($this->id) as $farmRoleMetric) {
                        $farmRoleMetrics[$farmRoleMetric->metricId] = $farmRoleMetric;
                    }
                    if (!empty($farmRoleMetrics)) {
                        /* @var  $metric ScalingMetric */
                        foreach (ScalingMetric::find([['id' => ['$in' => array_keys($farmRoleMetrics)]]]) as $metric) {
                            /* @var $farmRoleMetric FarmRoleScalingMetric */
                            $farmRoleMetric = $farmRoleMetrics[$metric->id];
                            $farmRoleMetric->metric = $metric;
                            $this->_farmRoleMetrics[$metric->name] = $farmRoleMetric;
                        }
                    }
                }
                return $this->_farmRoleMetrics;
            default:
                return parent::__get($name);
        }
    }