atelierspierrot/reflectors

View on GitHub
phpdoc/Reflectors/ReflectionSource.html

Summary

Maintainability
Test Coverage
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="robots" content="index, follow, all" />
    <title>Reflectors\ReflectionSource | 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_ReflectionSource" 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>ReflectionSource</li>
            </ol>
        </div>
                <div id="page-content">
                
    <div class="page-header">
        <h1>ReflectionSource</h1>
    </div>

    <p>    class
    <strong>ReflectionSource</strong>        implements
        <a target="_blank" href="http://php.net/Reflector"><abbr title="Reflector">Reflector</abbr></a>
</p>

            <div class="description">
            <p>The source 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>Properties</h2>

            <table class="table table-condensed">
                    <tr>
                <td class="type" id="property_default_context">
                    static                                                            
    array
                </td>
                <td>$default_context</td>
                <td class="last">
</td>
                <td></td>
            </tr>
            </table>

    
            <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>(
    string $file_path, 
    null $lineno = null, 
    array $context = null)
                                            <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_getFilePath">getFilePath</a>()
                                            <p>Returns the path of concerned file</p>                </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    int|null
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getLineNo">getLineNo</a>()
                                            <p>Returns the concerned line number (if defined)</p>                </div>
                <div class="col-md-2"></div>
            </div>
                    <div class="row">
                <div class="col-md-2 type">
                    
    array|mixed
                </div>
                <div class="col-md-8 type">
                    <a href="#method_getContext">getContext</a>(
    null $item = null)
                                            <p>Returns the context or one of its items</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_getSource">getSource</a>()
                                            <p>Get the source code of the file in a line-by-line array</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_render">render</a>(
    bool $return = false, 
    bool $info = false)
                                            <p>Renders the source as plain text</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_renderHighlight">renderHighlight</a>(
    bool $return = false, 
    bool $info = false)
                                            <p>Renders the source highlighted in HTML</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>


        <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 90</div>
        <code>                    
    
    <strong>__construct</strong>(
    string $file_path, 
    null $lineno = null, 
    array $context = null)</code>
    </h3>
    <div class="details">
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    string</td>
                <td>$file_path</td>
                <td>The file path, which MUST exist</td>
            </tr>
                    <tr>
                <td>
    null</td>
                <td>$lineno</td>
                <td>An optional line of the file to work around</td>
            </tr>
                    <tr>
                <td>
    array</td>
                <td>$context</td>
                <td>A table with optional context info:
                                 - 'unified' is the number of lines taken around concerned one (default is 3)
                                 - 'highlighting' is the table of highlight settings colors
                                    (from php.ini: <a href="http://php.net/manual/misc.configuration.php#ini.syntax-highlighting">http://php.net/manual/misc.configuration.php#ini.syntax-highlighting</a>)
                                 - 'function' can be concerned function name, to increase unified if necessary</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 <code>$file_path</code> parameter is not a string</td>
            </tr>
                    <tr>
                <td><a target="_blank" href="http://php.net/ReflectionException"><abbr title="ReflectionException">ReflectionException</abbr></a></td>
                <td>if the file does not exist</td>
            </tr>
            </table>

            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getFilePath">
        <div class="location">at line 116</div>
        <code>                    
    string
    <strong>getFilePath</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the path of concerned file</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_getLineNo">
        <div class="location">at line 126</div>
        <code>                    
    int|null
    <strong>getLineNo</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the concerned line number (if defined)</p>                                </div>
                <div class="tags">
            
                            <h4>Return Value</h4>

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

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getContext">
        <div class="location">at line 137</div>
        <code>                    
    array|mixed
    <strong>getContext</strong>(
    null $item = null)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Returns the context or one of its items</p>                                </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    null</td>
                <td>$item</td>
                <td>
</td>
            </tr>
            </table>

            
                            <h4>Return Value</h4>

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

            
            
                    </div>
    </div>

            </div>
                    <div class="method-item">
                    <h3 id="method_getSource">
        <div class="location">at line 154</div>
        <code>                    
    mixed
    <strong>getSource</strong>()</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Get the source code of the file in a line-by-line array</p>                    <p>The keys of the items are the line numbers, and a special <code>on</code> key
is used if a <code>line</code> exists in the trace: <code>on =&gt; line number</code>.</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_render">
        <div class="location">at line 199</div>
        <code>                    
    string
    <strong>render</strong>(
    bool $return = false, 
    bool $info = false)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Renders the source as plain text</p>                                </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    bool</td>
                <td>$return</td>
                <td>Return the result or not</td>
            </tr>
                    <tr>
                <td>
    bool</td>
                <td>$info</td>
                <td>Add the introduction information or not</td>
            </tr>
            </table>

            
                            <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_renderHighlight">
        <div class="location">at line 220</div>
        <code>                    
    string
    <strong>renderHighlight</strong>(
    bool $return = false, 
    bool $info = false)</code>
    </h3>
    <div class="details">
                    <div class="method-description">
                                    <p>Renders the source highlighted in HTML</p>                                </div>
                <div class="tags">
                            <h4>Parameters</h4>

                    <table class="table table-condensed">
                    <tr>
                <td>
    bool</td>
                <td>$return</td>
                <td>Return the result or not</td>
            </tr>
                    <tr>
                <td>
    bool</td>
                <td>$info</td>
                <td>Add the introduction information or not</td>
            </tr>
            </table>

            
                            <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___toString">
        <div class="location">at line 268</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>

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

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

</html>