atelierspierrot/reflectors

View on GitHub
phpdoc/Reflectors/Value/ReflectionArray.html

Summary

Maintainability
Test Coverage
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="robots" content="index, follow, all" />
    <title>Reflectors\Value\ReflectionArray | Reflectors (atelierspierrot/reflectors)</title>

            <link rel="stylesheet" type="text/css" href="../../css/bootstrap.min.css">
        <link rel="stylesheet" type="text/css" href="../../css/bootstrap-theme.min.css">
        <link rel="stylesheet" type="text/css" href="../../css/sami.css">
        <script src="../../js/jquery-1.11.1.min.js"></script>
        <script src="../../js/bootstrap.min.js"></script>
        <script src="../../js/typeahead.min.js"></script>
        <script src="../../sami.js"></script>
        <meta name="MobileOptimized" content="width">
        <meta name="HandheldFriendly" content="true">
        <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
    
    
    </head>

    <body id="class" data-name="class:Reflectors_Value_ReflectionArray" data-root-path="../../">
            <div id="content">
        <div id="left-column">
                <div id="control-panel">
                <form id="search-form" action="../../search.html" method="GET">
            <span class="glyphicon glyphicon-search"></span>
            <input name="search"
                   class="typeahead form-control"
                   type="search"
                   placeholder="Search">
        </form>
    </div>

                <div id="api-tree"></div>

        </div>
        <div id="right-column">
                <nav id="site-nav" class="navbar navbar-default" role="navigation">
        <div class="container-fluid">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="../../index.html">Reflectors (atelierspierrot/reflectors)</a>
            </div>
            <div class="collapse navbar-collapse" id="navbar-elements">
                <ul class="nav navbar-nav">
                    <li><a href="../../classes.html">Classes</a></li>
                                            <li><a href="../../namespaces.html">Namespaces</a></li>
                                        <li><a href="../../interfaces.html">Interfaces</a></li>
                    <li><a href="../../traits.html">Traits</a></li>
                    <li><a href="../../doc-index.html">Index</a></li>
                    <li><a href="../../search.html">Search</a></li>
                </ul>
            </div>
        </div>
    </nav>

                        <div class="namespace-breadcrumbs">
            <ol class="breadcrumb">
                <li><span class="label label-default">class</span></li>
                                                            <li><a href="../../Reflectors.html">Reflectors</a></li>
                                        <li><a href="../../Reflectors/Value.html">Value</a></li>
    
                <li>ReflectionArray</li>
            </ol>
        </div>
                <div id="page-content">
                
    <div class="page-header">
        <h1>ReflectionArray</h1>
    </div>

    <p>    class
    <strong>ReflectionArray</strong>        extends <a href="../../Reflectors/AbstractReflectionValue.html"><abbr title="Reflectors\AbstractReflectionValue">AbstractReflectionValue</abbr></a>
</p>

            <div class="description">
            <p>The <a href="http://php.net/array">array</a> value reflector</p>                    </div>
    
            <h2>Traits</h2>

        
    <div class="container-fluid underlined">
                    <div class="row">
                <div class="col-md-6">
                                            <a href="../../Reflectors/ReflectorTrait.html"><abbr title="Reflectors\ReflectorTrait">Reflectors\ReflectorTrait</abbr></a>
                                    </div>
                <div class="col-md-6">
                    Basic implementation of the <code>\Reflector::export()</code> method
                </div>
            </div>
                    <div class="row">
                <div class="col-md-6">
                                            <a href="../../Reflectors/ReadOnlyPropertiesTrait.html"><abbr title="Reflectors\ReadOnlyPropertiesTrait">Reflectors\ReadOnlyPropertiesTrait</abbr></a>
                                    </div>
                <div class="col-md-6">
                    This trait defines magic getters and setters for read-only object's properties
                </div>
            </div>
            </div>
    
    
    
            <h2>Methods</h2>

            <div class="container-fluid underlined">
                    <div class="row">
                <div class="col-md-2 type">
                    static&nbsp;
    string|null
                </div>
                <div class="col-md-8 type">
                    <a href="#method_export">export</a>(
    mixed $argument, 
    bool $return = false)
                                            <p>Creation of a new instance of the mother class on-the-fly</p>                </div>
                <div class="col-md-2"><small>from&nbsp;
    <a href="../../Reflectors/ReflectorTrait.html#method_export"><abbr title="Reflectors\ReflectorTrait">ReflectorTrait</abbr></a></small></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    void
                </div>
                <div class="col-md-8 type">
                    <a href="#method_setReadOnlyProperties">setReadOnlyProperties</a>(
    array $data)
                                            <p>Defines the read-only properties names and accessors.</p>                </div>
                <div class="col-md-2"><small>from&nbsp;
    <a href="../../Reflectors/ReadOnlyPropertiesTrait.html#method_setReadOnlyProperties"><abbr title="Reflectors\ReadOnlyPropertiesTrait">ReadOnlyPropertiesTrait</abbr></a></small></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    mixed
                </div>
                <div class="col-md-8 type">
                    <a href="#method___get">__get</a>(
    string $name)
                                            <p>Magic getter for read-only properties.</p>                </div>
                <div class="col-md-2"><small>from&nbsp;
    <a href="../../Reflectors/ReadOnlyPropertiesTrait.html#method___get"><abbr title="Reflectors\ReadOnlyPropertiesTrait">ReadOnlyPropertiesTrait</abbr></a></small></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    void
                </div>
                <div class="col-md-8 type">
                    <a href="#method___set">__set</a>(
    string $name, 
    mixed $value)
                                            <p>Magic setter to avoid setting read-only properties.</p>                </div>
                <div class="col-md-2"><small>from&nbsp;
    <a href="../../Reflectors/ReadOnlyPropertiesTrait.html#method___set"><abbr title="Reflectors\ReadOnlyPropertiesTrait">ReadOnlyPropertiesTrait</abbr></a></small></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    void
                </div>
                <div class="col-md-8 type">
                    <a href="#method___unset">__unset</a>(
    string $name)
                                            <p>Magic un-setter to avoid un-setting read-only properties.</p>                </div>
                <div class="col-md-2"><small>from&nbsp;
    <a href="../../Reflectors/ReadOnlyPropertiesTrait.html#method___unset"><abbr title="Reflectors\ReadOnlyPropertiesTrait">ReadOnlyPropertiesTrait</abbr></a></small></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    
                </div>
                <div class="col-md-8 type">
                    <a href="#method___construct">__construct</a>(
    mixed $value, 
    int $flag = ValueType::MODE_STRICT)
                                            <p class="no-description">No description</p>
                                    </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    string
                </div>
                <div class="col-md-8 type">
                    <a href="#method___toString">__toString</a>()
                                            <p>Representation of the object</p>                </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    mixed
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getValue">getValue</a>()
                                            <p>Returns the current value</p>                </div>
                <div class="col-md-2"><small>from&nbsp;
    <a href="../../Reflectors/AbstractReflectionValue.html#method_getValue"><abbr title="Reflectors\AbstractReflectionValue">AbstractReflectionValue</abbr></a></small></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    string
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getValueType">getValueType</a>()
                                            <p>Returns the type of the value</p>                </div>
                <div class="col-md-2"><small>from&nbsp;
    <a href="../../Reflectors/AbstractReflectionValue.html#method_getValueType"><abbr title="Reflectors\AbstractReflectionValue">AbstractReflectionValue</abbr></a></small></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    array
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getArray">getArray</a>()
                                            <p>Returns the full array itself</p>                </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    array
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getKeys">getKeys</a>()
                                            <p>Returns the keys of the array</p>                </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    array
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getValues">getValues</a>()
                                            <p>Returns the values of the array</p>                </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    int
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getLength">getLength</a>()
                                            <p>Returns the length of the array</p>                </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    bool
                </div>
                <div class="col-md-8 type">
                    <a href="#method_hasKey">hasKey</a>(
    string|int $index)
                                            <p>Test if a key exists in the array</p>                </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    mixed
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getItem">getItem</a>(
    string|int $index)
                                            <p>Get a specific item of the array</p>                </div>
                <div class="col-md-2"></div>
            </div>
            </div>


        <h2>Details</h2>

            <div id="method-details">
                    <div class="method-item">
                    <h3 id="method_export">
        <div class="location">in 
    <a href="../../Reflectors/ReflectorTrait.html#method_export"><abbr title="Reflectors\ReflectorTrait">ReflectorTrait</abbr></a> at line 54</div>
        <code>        static            
    string|null
    <strong>export</strong>(
    mixed $argument, 
    bool $return = false)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Creation of a new instance of the mother class on-the-fly</p>                    <p>Keep in mind that this method only consider the FIRST argument passed
to transmit to the constructor. If your mother class requires more than
one argument, you will have to over-write this method (or to not use the
trait).</p>            </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    mixed</td>
                <td>$argument</td>
                <td>
</td>
            </tr>
                    <tr>
                <td>
    bool</td>
                <td>$return</td>
                <td>
</td>
            </tr>
            </table>

            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    string|null</td>
            <td>
</td>
        </tr>
    </table>

            
                            <h4>Exceptions</h4>

                    <table class="table table-condensed">
                    <tr>
                <td><a target="_blank" href="http://php.net/ErrorException"><abbr title="ErrorException">ErrorException</abbr></a></td>
                <td>if the mother class does not implement the <code>\Reflector</code> interface</td>
            </tr>
                    <tr>
                <td><a target="_blank" href="http://php.net/ErrorException"><abbr title="ErrorException">ErrorException</abbr></a></td>
                <td>if the mother class constructor is not callable</td>
            </tr>
            </table>

            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_setReadOnlyProperties">
        <div class="location">in 
    <a href="../../Reflectors/ReadOnlyPropertiesTrait.html#method_setReadOnlyProperties"><abbr title="Reflectors\ReadOnlyPropertiesTrait">ReadOnlyPropertiesTrait</abbr></a> at line 54</div>
        <code>                    
    void
    <strong>setReadOnlyProperties</strong>(
    array $data)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Defines the read-only properties names and accessors.</p>                    <p>Each <code>key =&gt; value</code> pair of the <code>$data</code> array must be constructed like:</p>

<ul>
<li><code>key</code> is the name of the property (MUST be defined with <em>protected</em>
 access in the child class)</li>
<li><code>value</code> is an accessor for that property: the name of the access method
 if it exists or <code>true</code> for the default <code>$obj-&gt;$key</code> accessor.</li>
</ul>
</p>            </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    array</td>
                <td>$data</td>
                <td>This is the table of read-only properties</td>
            </tr>
            </table>

            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    void</td>
            <td>
</td>
        </tr>
    </table>

            
                            <h4>Exceptions</h4>

                    <table class="table table-condensed">
                    <tr>
                <td><a target="_blank" href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
                <td>if the <code>$data</code> array is malformed</td>
            </tr>
            </table>

            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method___get">
        <div class="location">in 
    <a href="../../Reflectors/ReadOnlyPropertiesTrait.html#method___get"><abbr title="Reflectors\ReadOnlyPropertiesTrait">ReadOnlyPropertiesTrait</abbr></a> at line 85</div>
        <code>                    
    mixed
    <strong>__get</strong>(
    string $name)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Magic getter for read-only properties.</p>                    <p>This will trigger a notice if the property can not be accessed.</p>            </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    string</td>
                <td>$name</td>
                <td>
</td>
            </tr>
            </table>

            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    mixed</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method___set">
        <div class="location">in 
    <a href="../../Reflectors/ReadOnlyPropertiesTrait.html#method___set"><abbr title="Reflectors\ReadOnlyPropertiesTrait">ReadOnlyPropertiesTrait</abbr></a> at line 109</div>
        <code>                    
    void
    <strong>__set</strong>(
    string $name, 
    mixed $value)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Magic setter to avoid setting read-only properties.</p>                                </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    string</td>
                <td>$name</td>
                <td>
</td>
            </tr>
                    <tr>
                <td>
    mixed</td>
                <td>$value</td>
                <td>
</td>
            </tr>
            </table>

            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    void</td>
            <td>
</td>
        </tr>
    </table>

            
                            <h4>Exceptions</h4>

                    <table class="table table-condensed">
                    <tr>
                <td><a target="_blank" href="http://php.net/ReflectionException"><abbr title="ReflectionException">ReflectionException</abbr></a></td>
                <td>if trying to set a read-only property</td>
            </tr>
            </table>

            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method___unset">
        <div class="location">in 
    <a href="../../Reflectors/ReadOnlyPropertiesTrait.html#method___unset"><abbr title="Reflectors\ReadOnlyPropertiesTrait">ReadOnlyPropertiesTrait</abbr></a> at line 125</div>
        <code>                    
    void
    <strong>__unset</strong>(
    string $name)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Magic un-setter to avoid un-setting read-only properties.</p>                                </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    string</td>
                <td>$name</td>
                <td>
</td>
            </tr>
            </table>

            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    void</td>
            <td>
</td>
        </tr>
    </table>

            
                            <h4>Exceptions</h4>

                    <table class="table table-condensed">
                    <tr>
                <td><a target="_blank" href="http://php.net/ReflectionException"><abbr title="ReflectionException">ReflectionException</abbr></a></td>
                <td>if trying to unset a read-only property</td>
            </tr>
            </table>

            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method___construct">
        <div class="location">at line 54</div>
        <code>                    
    
    <strong>__construct</strong>(
    mixed $value, 
    int $flag = ValueType::MODE_STRICT)</code>
    </h3>
    <div class="details">
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    mixed</td>
                <td>$value</td>
                <td>
</td>
            </tr>
                    <tr>
                <td>
    int</td>
                <td>$flag</td>
                <td>A flag used by the <code>ValueType::getType()</code> method</td>
            </tr>
            </table>

            
            
                            <h4>Exceptions</h4>

                    <table class="table table-condensed">
                    <tr>
                <td><a target="_blank" href="http://php.net/ReflectionException"><abbr title="ReflectionException">ReflectionException</abbr></a></td>
                <td>if the parameter is not an array</td>
            </tr>
            </table>

            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method___toString">
        <div class="location">at line 138</div>
        <code>                    
    string
    <strong>__toString</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Representation of the object</p>                    <p>If an exception is caught, its message is returned instead of the
original result (but it is not thrown ahead).</p>            </div>
                <div class="tags">
            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    string</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getValue">
        <div class="location">in 
    <a href="../../Reflectors/AbstractReflectionValue.html#method_getValue"><abbr title="Reflectors\AbstractReflectionValue">AbstractReflectionValue</abbr></a> at line 81</div>
        <code>                    
    mixed
    <strong>getValue</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the current value</p>                                </div>
                <div class="tags">
            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    mixed</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getValueType">
        <div class="location">in 
    <a href="../../Reflectors/AbstractReflectionValue.html#method_getValueType"><abbr title="Reflectors\AbstractReflectionValue">AbstractReflectionValue</abbr></a> at line 91</div>
        <code>                    
    string
    <strong>getValueType</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the type of the value</p>                                </div>
                <div class="tags">
            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    string</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getArray">
        <div class="location">at line 72</div>
        <code>                    
    array
    <strong>getArray</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the full array itself</p>                                </div>
                <div class="tags">
            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    array</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getKeys">
        <div class="location">at line 82</div>
        <code>                    
    array
    <strong>getKeys</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the keys of the array</p>                                </div>
                <div class="tags">
            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    array</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getValues">
        <div class="location">at line 92</div>
        <code>                    
    array
    <strong>getValues</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the values of the array</p>                                </div>
                <div class="tags">
            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    array</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getLength">
        <div class="location">at line 102</div>
        <code>                    
    int
    <strong>getLength</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the length of the array</p>                                </div>
                <div class="tags">
            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    int</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_hasKey">
        <div class="location">at line 113</div>
        <code>                    
    bool
    <strong>hasKey</strong>(
    string|int $index)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Test if a key exists in the array</p>                                </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    string|int</td>
                <td>$index</td>
                <td>
</td>
            </tr>
            </table>

            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    bool</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getItem">
        <div class="location">at line 124</div>
        <code>                    
    mixed
    <strong>getItem</strong>(
    string|int $index)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Get a specific item of the array</p>                                </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    string|int</td>
                <td>$index</td>
                <td>
</td>
            </tr>
            </table>

            
                            <h4>Return Value</h4>

                    <table class="table table-condensed">
        <tr>
            <td>
    mixed</td>
            <td>
</td>
        </tr>
    </table>

            
            
                    </div>
    </div>

            </div>
            </div>

    
            </div>
                <div id="footer">
        Generated by <a href="http://sami.sensiolabs.org/">Sami, the API Documentation Generator</a>.
    </div>

        </div>
    </div>
    </body>

</html>