$conf
$conf : \Phabstractic\Features\Zend\Config\Config
The objects configuration object
Should be an instance of Zend/Config
Restricted Stack Class
Defines a Stack Data Structure, but type restricted
Inherits from Falcraft\Data\Types\Resource\AbstractRestrictedList but uses composites an internal Queue and wraps function calls to this object
CHANGELOG
1.0: Created RestrictedQueue May 16th, 2013 2.0: Refactored and re-formatted for inclusion in Primus - April 14th, 2015 2.1: Corrected Queue Errors - September 5th, 2015 2.2: Added getList like RestrictedQueue - September 5th, 2015 3.0: inherits from restrictedlist reformatted for inclusion in phabstractic - July 21st, 2016 3.0.1: implements configurationinterface - July 31st, 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\Phabstractic\Data\Resource\FilterInterface $restrictions = null, array $options = array())
The RestrictedStack Constructor
Takes the data, runs it through the restrictions via the parent class if all is successful (nothing is thrown), then it sets up the list data
Options: strict - Do we raise exceptions when values are misaligned?
mixed | $data | The data to populate the internal member array |
\Phabstractic\Data\Types\Phabstractic\Data\Resource\FilterInterface | $restrictions | The predicate type object |
array | $options | The options for the array |
offsetSet(integer $key, mixed $value) : integer|null
Set the offset in the list to the provided value
integer | $key | The index to the list item |
mixed | $value | The value to set to |
if the value doesn't meet restrictions
topReference() : mixed|\Phabstractic\Data\Types\Phabstractic\Data\Types\None
Retrieve the top value as a reference
Does not pop the value off the queue
if list is empty and strict set
if failure
bottom() : mixed|\Phabstractic\Data\Types\Phabstractic\Data\Types\None
Retrieve the 'bottom' of the list
Note: Does not 'shift' the value off the list
if no top exists
'Top' Value of List otherwise
bottomReference() : mixed|\Phabstractic\Data\Types\Phabstractic\Data\Types\None
Return the 'bottom' of the list as a reference
Note: Does not 'pop' the value off the list
if no top exists
'Top' Values as Reference of List
roll( $c)
'Rolls' the list like one might 'roll' a wheel.
Negative values roll the list the opposite direction positive values roll the list.
Note: Edits the list in place, does not return copy of list
EX:
12345 might become 34512
NOTE: May not be object friendly, depending on array
$c |
If argument isn't integer