Utility that works like \get_object_vars() but restricted to bound properties.

@return array:multitype
328335
final public function getAllProperties() {
		
		$class = get_called_class();
		
		// all subclass binds
		$binds = $class::getBinds();
		
		$properties = array();
		
		foreach ($binds as $property=>$field) {
			$properties[$property] = $this->$property;
		}
		
		return $properties;
		
	}
253366
public function getVariables() 
	{
		$variables = parent::getVariables();
		
		$loaded = self::$loaded;
		self::$loaded = true;
		
		$variables['loaded'] = $loaded;
		$variables['options'] = $this->options;
		
		return $variables;
	}
1135495
function get_options_keys() {
            if ( is_array( $this->_options ) ) {
                return array_keys( $this->_options );
            } else if ( is_object( $this->_options ) ) {
                return array_keys( get_object_vars( $this->_options ) );
            }

            return array();
        }
608880
private function getAllProperties()
    {
        $allProperties = get_object_vars($this);
        $properties = array();
        foreach ($allProperties as $fullName => $value) {
            $fullNameComponents = explode("\0", $fullName);
            $propertyName = array_pop($fullNameComponents);
            if ($propertyName && isset($value)) {
                $properties[ $propertyName ] = $value;
            }
        }
        
        return $properties;
    }
321135
public function getArrayCopy()
    {
        $obj_vars = get_object_vars($this);

        if (isset($obj_vars['postElements'])) {
            $obj_vars['postElements'] = $this->getPostElements()->toArray();
        }

        return $obj_vars;
    }
474967
public function getVariables() 
	{
		if(isset($this->attributes['class'])) {
			$this->attributes['class'] = trim($this
			->attributes['class'].' form-control');
		} else {
			$this->attributes['class'] = 'form-control';
		}
		
		return array(
			'attributes' 	=> $this->attributes,
			'items'			=> $this->items,
			'selected'		=> $this->value);
	}
1373774
protected function getVarsForDB()
  {
    if (!$fields = $this->getFields()) {
      return $this->vars;
    }

    return array_intersect_key($this->vars, array_flip($fields));
  }
292766
public static function getVars()
    {
        if (!is_array(static::$vars)) {
            $path = static::path("data/env.json");

            try {
                $vars = Json::decodeFromFile($path);
            } catch(\Exception $e) {
                $vars = [];
            }

            static::$vars = Helper::toArray($vars);
        }

        return static::$vars;
    }
373252
public function getBindings()
    {
        $bindings = [];

        // We will run through all the bindings and pluck out
        // the component (select, where, etc.)
        foreach($this->bindings as $component => $binding)
        {
            if ( ! empty($binding))
            {
                // For every binding there could be multiple
                // values set so we need to add all of them as
                // flat $key => $value item in our $bindings.
                foreach ($binding as $key => $value)
                {
                    $bindings[$key] = $value;
                }
            }
        }

        return $bindings;
    }
132357
public function getAsArray(): array
	{
		$data = [];

		foreach ($this->getBindings() as $bind) {
			$data[$bind->getParameter()] = $bind->getValue();
		}

		return $data;
	}
475512
protected function getObjectDescriptors($var)
    {
        $result = [];
        $className = is_object($var) ? get_class($var) : false;
        if ($className !== false) {
            $result[] = ($this->insideNamespace ? '\\' : '') . $className;
            $class = new ReflectionClass($className);
            for ($childClass = $class->getParentClass(); $childClass; $childClass = $childClass->getParentClass()) {
                $result[] = ($this->insideNamespace ? '\\' : '') . $childClass->getName();
            }
            foreach ($class->getInterfaceNames() as $interfaceName) {
                $result[] = ($this->insideNamespace ? '\\' : '') . $interfaceName;
            }
        }

        return $result;
    }
619861
protected function getVariables()
    {
        foreach ($this->fields as $field) {
            $field->fill($this->data);
        }

        return [
            'fields' => $this->fields,
            'attributes' => $this->formatAttribute(),
            'method' => $this->attributes['method'],
        ];
    }
703846
public function variables() : array
    {
        return [
            'placeholder' => $this->placeholder,
            'icon'        => $this->icon,
            'type'        => $this->type,
            'group'       => $this->filter->group,
        ];
    }
690414
public function get_types_for_js() {
		$types = array();
		$names = array();

		foreach ( $this->types as $type ) {
			$types[ $type->id ] = $type->get_props();
			$names[ $type->id ] = $type->name;
		}

		array_multisort( $names, SORT_ASC, $types );

		return $types;
	}
1132298
public function variables()
    {
        return [
            'id'         => $this->elementId,
            'tools'      => $this->tools->render(),
            'items'      => $this->getItems(),
            'useCreate'  => $this->useCreate,
            'useSave'    => $this->useSave,
            'useRefresh' => $this->useRefresh,
        ];
    }
1003023
public function getValue()
    {
        // if size of children smaller than minimum
        if (count($this->properties) < $this->getMinOccurs()) {
            for ($i = count($this->properties); $i < $this->getMinOccurs(); ++$i) {
                $this->initProperties($i, $this->getDefaultTypeName());
            }
        }

        $data = [];
        foreach ($this->properties as $type) {
            $result = ['type' => $type->getName()];
            foreach ($type->getChildProperties() as $property) {
                $result[$property->getName()] = $property->getValue();
            }
            $data[] = $result;
        }

        return $data;
    }
44859
public function getComputedProperties()
    {
        $result = array();

        if($row = $this->getIterator()->current()) {
            $result = $row->getComputedProperties();
        }

        return $result;
    }