Innovation Award
 July 2007
Number 4 |
Namespaces is one of the features that was left out of PHP 5. It can help developers mix classes that have the same name but are from different packages.
Fortunately, namespaces are finally being introduced in PHP 6. However, PHP 5 users will not be able to benefit from that feature.
This package provides an alternative implementation that works on PHP 5. It parses the code of each class script and rewrite it to implement namespaces as prefixes of the class names.
Manuel Lemos |
This package can be used to emulate class namespaces under PHP 5.
It parses PHP code to extract namespace definition statements. The code is rewritten to emulate the namespace support in a way similar to the Java language namespace support.
This package implements new commands named package and import. The package command defines the package that a class belongs. The package name is prepended to the class names using PEAR class naming and directory conventions.
The import command indicates that the package should be imported for use in the PHP script on which the import command is used. Classes that are not found in the current script are looked in the imported namespaces.
Error mapping has been added since 0.4.0, which requires that caching is enabled. This features makes php errors in rewritten files point to the right place in the original file.
As of version 0.5.0 nsim supports namespaces in:
* class definition (w/inheritance & interfaces implementation)
* interface definition (w/inheritance)
* static class vars & functions
* class constants
* instanceof operator
* type hinting
| Project record: |
nsim |
| Popularity score: |
9.9 |
| Vitality score: |
1.0 |
| Ratings | Utility |
Consistency |
Documentation |
Examples |
Tests |
Videos |
Overall |
Rank |
| All time: |
Good (95.0%) |
Good (90.0%) |
Good (87.5%) |
Good (95.0%) |
- |
- |
Sufficient (74.8%) |
51 |
| Month: |
Not yet rated by the users |
No application links were specified for this class.

If you know an application of this package, send a message to the
author to add a link here.