original_string: public static function get($options = null) {
  		if( $options === null ) {
  			/** @noinspection PhpIncompatibleReturnTypeInspection */
  			return static::select();
  		}
  		if( $options instanceof SQLSelectRequest ) {
  			$options->setSQLAdapter(static::getSQLAdapter());
  			$options->setIDField(static::$IDFIELD);
  			$options->from(static::$table);
  			return $options->run();
  		}
  		if( is_string($options) ) {
  			$args = func_get_args();
  			$options = array();// Pointing argument
  			foreach( array('where', 'orderby') as $i => $key ) {
  				if( !isset($args[$i]) ) {
  					break;
  				}
  				$options[$key] = $args[$i];
  			}
  		}
  		$options['table'] = static::$table;
  		// May be incompatible with old revisions (< R398)
  		if( !isset($options['output']) ) {
  			$options['output'] = SQLAdapter::ARR_OBJECTS;
  		}
  		//This method intercepts outputs of array of objects.
  		$onlyOne = $objects = 0;
  		if( in_array($options['output'], array(SQLAdapter::ARR_OBJECTS, SQLAdapter::OBJECT)) ) {
  			if( $options['output'] == SQLAdapter::OBJECT ) {
  				$options['number'] = 1;
  				$onlyOne = 1;
  			}
  			$options['output'] = SQLAdapter::ARR_ASSOC;
  			$objects = 1;
  		}
  		$sqlAdapter = static::getSQLAdapter();
  		$r = $sqlAdapter->select($options);
  		if( empty($r) && in_array($options['output'], array(SQLAdapter::ARR_ASSOC, SQLAdapter::ARR_OBJECTS, SQLAdapter::ARR_FIRST)) ) {
  			return $onlyOne && $objects ? null : array();
  		}
  		if( !empty($r) && $objects ) {
  			if( $onlyOne ) {
  				$r = static::load($r[0]);
  			} else {
  				foreach( $r as &$rdata ) {
  					$rdata = static::load($rdata);
  				}
  			}
  		}
  		return $r;
  	}
code: public static function get($options = null) {
  		if( $options === null ) {
  			/** @noinspection PhpIncompatibleReturnTypeInspection */
  			return static::select();
  		}
  		if( $options instanceof SQLSelectRequest ) {
  			$options->setSQLAdapter(static::getSQLAdapter());
  			$options->setIDField(static::$IDFIELD);
  			$options->from(static::$table);
  			return $options->run();
  		}
  		if( is_string($options) ) {
  			$args = func_get_args();
  			$options = array();// Pointing argument
  			foreach( array('where', 'orderby') as $i => $key ) {
  				if( !isset($args[$i]) ) {
  					break;
  				}
  				$options[$key] = $args[$i];
  			}
  		}
  		$options['table'] = static::$table;
  		// May be incompatible with old revisions (< R398)
  		if( !isset($options['output']) ) {
  			$options['output'] = SQLAdapter::ARR_OBJECTS;
  		}
  		//This method intercepts outputs of array of objects.
  		$onlyOne = $objects = 0;
  		if( in_array($options['output'], array(SQLAdapter::ARR_OBJECTS, SQLAdapter::OBJECT)) ) {
  			if( $options['output'] == SQLAdapter::OBJECT ) {
  				$options['number'] = 1;
  				$onlyOne = 1;
  			}
  			$options['output'] = SQLAdapter::ARR_ASSOC;
  			$objects = 1;
  		}
  		$sqlAdapter = static::getSQLAdapter();
  		$r = $sqlAdapter->select($options);
  		if( empty($r) && in_array($options['output'], array(SQLAdapter::ARR_ASSOC, SQLAdapter::ARR_OBJECTS, SQLAdapter::ARR_FIRST)) ) {
  			return $onlyOne && $objects ? null : array();
  		}
  		if( !empty($r) && $objects ) {
  			if( $onlyOne ) {
  				$r = static::load($r[0]);
  			} else {
  				foreach( $r as &$rdata ) {
  					$rdata = static::load($rdata);
  				}
  			}
  		}
  		return $r;
  	}
code_tokens: public static function get ( $ options = null ) { if ( $ options === null ) { /** @noinspection PhpIncompatibleReturnTypeInspection */ return static :: select ( ) ; } if ( $ options instanceof SQLSelectRequest ) { $ options -> setSQLAdapter ( static :: getSQLAdapter ( ) ) ; $ options -> setIDField ( static :: $ IDFIELD ) ; $ options -> from ( static :: $ table ) ; return $ options -> run ( ) ; } if ( is_string ( $ options ) ) { $ args = func_get_args ( ) ; $ options = array ( ) ; // Pointing argument foreach ( array ( 'where' , 'orderby' ) as $ i => $ key ) { if ( ! isset ( $ args [ $ i ] ) ) { break ; } $ options [ $ key ] = $ args [ $ i ] ; } } $ options [ 'table' ] = static :: $ table ; // May be incompatible with old revisions (< R398) if ( ! isset ( $ options [ 'output' ] ) ) { $ options [ 'output' ] = SQLAdapter :: ARR_OBJECTS ; } //This method intercepts outputs of array of objects. $ onlyOne = $ objects = 0 ; if ( in_array ( $ options [ 'output' ] , array ( SQLAdapter :: ARR_OBJECTS , SQLAdapter :: OBJECT ) ) ) { if ( $ options [ 'output' ] == SQLAdapter :: OBJECT ) { $ options [ 'number' ] = 1 ; $ onlyOne = 1 ; } $ options [ 'output' ] = SQLAdapter :: ARR_ASSOC ; $ objects = 1 ; } $ sqlAdapter = static :: getSQLAdapter ( ) ; $ r = $ sqlAdapter -> select ( $ options ) ; if ( empty ( $ r ) && in_array ( $ options [ 'output' ] , array ( SQLAdapter :: ARR_ASSOC , SQLAdapter :: ARR_OBJECTS , SQLAdapter :: ARR_FIRST ) ) ) { return $ onlyOne && $ objects ? null : array ( ) ; } if ( ! empty ( $ r ) && $ objects ) { if ( $ onlyOne ) { $ r = static :: load ( $ r [ 0 ] ) ; } else { foreach ( $ r as & $ rdata ) { $ rdata = static :: load ( $ rdata ) ; } } } return $ r ; }
docstring: Get some permanent objects
  
  @param array $options The options used to get the permanents object
  @return SQLSelectRequest|static|static[]|array An array of array containing object's data
  @see SQLAdapter
  
  Get an objects' list using this class' table.
  Take care that output=SQLAdapter::ARR_OBJECTS and number=1 is different from output=SQLAdapter::OBJECT
docstring_tokens: Get some permanent objects