PHP_Reflect User Guide
======================
include::revision.txt[]
:stylesdir:   styles
:scriptsdir:  js
:keywords:    reverse-engineer, classes, interfaces, functions, constants, namespaces 
:language:    php


== Introduction

image:images/logo.png[alt="PHP_Reflect logo"]

PHP_Reflect is a PHP Library that adds the ability to reverse-engineer 
classes, interfaces, functions, constants, namespaces and more.


This manual documents the final stable version {revnumber}

== Features

* Uses containers that may be changed to store scanning results
* Select properties you want to retrieve (file, start and end lines, docblock, namespace ...)
* Ability to extend the parsing level: connect user callbacks to handle more tokens


== System Requirements

.Mandatory resources :
* link:http://www.php.net[PHP] 5.2.0 or newer
* link:http://www.php.net/manual/en/book.pcre.php[pcre] extension
* link:http://www.php.net/manual/en/book.spl.php[SPL] extension
* link:http://www.php.net/manual/en/book.tokenizer.php[tokenizer] extension


== Installing PHP_Reflect

NOTE: The current version of PHP_Reflect requires *PHP 5.2.0 or newer*
to run.  If you don't already have an up-to-date version of PHP
installed it can be downloaded from the official PHP website
http://www.php.net/.

=== Using PEAR installer

PHP_Reflect should be installed using the http://pear.php.net/[PEAR Installer].
This installer is the backbone of PEAR, which provides a distribution system
for PHP packages, and is shipped with every release of PHP since version 4.3.0.

Registering the channel:
----
pear channel-discover bartlett.laurent-laville.org
----

Installing the latest version available:
----
pear install bartlett/PHP_Reflect
----

Installing a specific version:
----
pear install bartlett/PHP_Reflect-1.0.0
----


=== Install manually

Do the following:

. Download a release archive from http://bartlett.laurent-laville.org/
. Extract it to a directory that is listed in the include_path of your
php.ini configuration file

:leveloffset: 1

include::getting_started.txt[]

include::configure.txt[]

include::connect_tokens.txt[]

[appendix]
include::LICENSE.txt[]
