$conf
$conf : \Phabstractic\Features\Zend\Config\Config
The objects configuration object
Should be an instance of Zend/Config
Abstract Sorted List - Automatically Sorted List
This list depends on an implementation of a member function that sorts the data.
CHANGELOG
1.0: Created AbstractList - May 10th, 2013 2.0: Refactored and re-formatted for inclusion in primus - April 11th, 2015 3.0: reformatted for inclusion in phabstractic - July 21st, 2016
configure(array|string|\Phabstractic\Features\Zend\Config\Config $configuration, string $format = null, mixed $context = null) : boolean
Configure An Object
Expects an array for configuration however, you can also pass it a filepath where it will read the information from a file automatically detecting the format using the file extension. You can also pass a Zend/Config object already made.
You can also pass a format specifier (forced format) for use in a if $configuration is a string formatted with such information. E.G. to load from a string in the format ini:
$this->configure($configString, 'ini');
The $context argument is used for any additional reader constructor information, such as the constructor for the 'yaml' format.
NOTE: You can override/extend the classes used for reading formats by identifying an additional array in the property $this->configReaders. This will merge with the standard formats array.
array|string|\Phabstractic\Features\Zend\Config\Config | $configuration | The objects configuration information. |
string | $format | The forced format, or format for configuration string |
mixed | $context | Any additional information for a reader constructor, such as needed for the YAML format. |
True if instantiated
saveSettings(string $file, \Phabstractic\Features\Zend\Config\Writer\WriterInterface $writer = null, boolean $exclusive = true, mixed $context = null)
Save an Object's Configuration to a File
Takes an objects $conf property and writes the information contained therein to a file with a format automatically specified by the filename.
It is possible to retrieve a string of a particular format from this method by specifying the filename '#string' with an extension indicating the desired format, such as '#string.json'.
The $context argument is used for any additional reader constructor information, such as the constructor for the 'yaml' format.
NOTE: You can override/extend the classes used for writing formats by identifying an additional array in the property $this->configWriters. This will merge with the standard formats array.
string | $file | The file path to write to, or '#string.ext' |
\Phabstractic\Features\Zend\Config\Writer\WriterInterface | $writer | The optional writer object supplied to use (such as a MySQL writer) |
boolean | $exclusive | Argument provided to toFile(), file exclusive lock when writing |
mixed | $context | Any additionla writer constructor information (YAML) |
getSettings(string $format, $context = null) : string|boolean
Retrieve an Object's Configuration Information As String
This is a shortcut to ::saveSettings() which specifies a format and forces the return of a string, using the #string.ext filename -see documentation for ::saveSettings()-
string | $format | The format to return, must be supported by ::saveSettings(), use $this->configWriters to support additional formats. |
$context |
The formatted string, or false otherwise
processSettings(\Phabstractic\Features\Zend\Config\Processor\ProcessorInterface $processor)
Process an Object's Configuration
This uses a Zend\Config\Processor implementation to process the configuration information, such as constants. The processor must be supplied and implement ProcessorInterface
NOTE: Edits the $conf object in place.
\Phabstractic\Features\Zend\Config\Processor\ProcessorInterface | $processor | The given processor object |
__construct(mixed $data = null, \Phabstractic\Data\Types\Resource\FilterInterface $restrictions = null, array $options = array())
The Sorted List constructor
Accepts data, and the obligatory options parameter
Passes the required restrictions onto the parent class along with the options
NOTE: In order to sort a list it MUST all be the same type, so restrictions are set up.
This instantiates the class and sets the index
mixed | $data | The data to initialize the queue |
\Phabstractic\Data\Types\Resource\FilterInterface | $restrictions | |
array | $options | The options to pass into the object |
top() : string|\Phabstractic\Data\Types\Resource\Phabstractic\Data\Types\None
Returns the top value
This abstract class only sorts
if no top exists
'Top' value of list otherwise
topReference() : string|\Phabstractic\Data\Types\Resource\Phabstractic\Data\Types\None
Returns the top value as a reference
This abstract class only sorts
if top is empty
index(integer $i) : string|\Phabstractic\Data\Types\Resource\Phabstractic\Data\Types\None
Returns the data objects specified by the index request
This abstract class only sorts
integer | $i | the given index |
if index is out of range
indexReference(integer $i) : string|\Phabstractic\Data\Types\Resource\Phabstractic\Data\Types\None
Returns the data objects specified by the index request
This abstract class only sorts
integer | $i | the given index |
if index is out of range