PHP_Reflect
===========
include::revision.txt[]
:stylesdir:   styles
:scriptsdir:  js
:binary_dir:  http://php5.laurent-laville.org/reflect/get/
:man_dir:     http://php5.laurent-laville.org/reflect/manual/1.4

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

.{revdate}: PHP_Reflect {revnumber} Released
************************************************************************
Release highlights:

- improved namespaces support with imports (Aliasing/Importing)
and avoid conflict with trait usage in class context.

Read the link:CHANGELOG.html[CHANGELOG] for a full list of all
additions, changes and bug fixes. Changes are documented in the
updated link:phpreflect-book.html[User Guide]. See the
link:INSTALL.html[Installation page] for downloads and installation instructions.

'Laurent Laville'
************************************************************************

== Introduction

PHP_Reflect adds the ability to reverse-engineer classes, interfaces, functions, 
constants, namespaces and more. 


*Why PHP_Reflect is different to standard PHP5 Reflection API ?*

With _PHP5 Reflection API_ the code to analyze needs to be loaded and interpreted 
by the php interpreter, and in certain cases, this triggers fatal errors. 

With _PHP_Reflect_ you don't have to trust in source code, because it will be parsed
with tokenizer extension. 


== Overview

.Features

* ability to reverse-engineer classes
* ability to reverse-engineer traits
* ability to reverse-engineer interfaces
* ability to reverse-engineer functions
* ability to reverse-engineer constants
* ability to reverse-engineer namespaces
* ability to reverse-engineer includes
* ability to reverse-engineer globals variables


== Documentation

The PHP_Reflect manual is available in a selection of formats. Pick a format
from the table below to start downloading.

[options="header"]
|===========================
| Language | Single HTML file | Many HTML files | HTML Help file | PDF A4 file | PDF US file | EPUB file
| English | link:{man_dir}/en/phpreflect-book.html.zip[phpreflect-book.html.zip] 54 Kb | link:{man_dir}/en/phpreflect-book.chunked.zip[phpreflect-book.chunked.zip] 44 Kb | link:{man_dir}/en/phpreflect-book.chm.zip[phpreflect-book.chm.zip] 40 Kb | link:{man_dir}/en/phpreflect-book-a4.pdf[phpreflect-book-a4.pdf] 75 Kb | link:{man_dir}/en/phpreflect-book-us.pdf[phpreflect-book-us.pdf] 75 Kb | link:{man_dir}/en/phpreflect-book.epub.zip[phpreflect-book.epub.zip] 33Kb
|===========================


== Appendix A: Classes Source Code

Below you can find highlighted PHP source code
(with http://pygments.org/[Pygments])
of PHP_Reflect classes version {revnumber}

* link:sources/Reflect.html[PHP_Reflect]
* link:sources/Autoload.html[Autoload]
* link:sources/Token.html[Tokens]

== Appendix B: Examples

.Scan a simple file
* link:sources/scanFile.html[Basic usage with default options]
* link:sources/scanFunctionArguments.html[Get signature and arguments of methods/functions]

== Appendix C: Changelog

link:CHANGELOG.html[History of changes]

== Appendix D: License

Released under the link:LICENSE.html[BSD] license,
you are free to do whatever you want, even in a commercial environment.
You are also encouraged to contribute.

== Appendix E: Credits

[quote, , https://github.com/sebastianbergmann/]
____
.Sebastian Bergmann

Original author of link:https://github.com/sebastianbergmann/php-token-stream[PHPUnit/PHP_Token_Stream],
that show me the way with his base concept to produce an extendable package .
____


== Appendix F: Links

All pages of this site, and user guide were generated with AsciiDoc 8.6.8,
assisted by FOP 1.0 (for PDFs). Automated build process uses Phing 2.4.12

Convert the HTML Help source (.hhp and .html) files to HTML Help (.chm) files
using the Microsoft HTML Help Compiler.

* http://www.methods.co.nz/asciidoc/index.html[AsciiDoc]
* http://pygments.org/[Pygments - Python syntax highlighter]
* http://xmlgraphics.apache.org/fop/[Apache FOP]
* http://msdn.microsoft.com/en-us/library/ms670169%28VS.85%29.aspx[Microsoft HTML Help Compiler]
* http://phing.info/trac/[Phing]
