Login   Register  
PHP Classes
elePHPant
Icontem

NamespaceSim

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us

  Author  
Picture of Martin Alterisio
Name: Martin Alterisio <e-mail contact>
Packages: 5 Browse all classes by Martin Alterisio Browse all classes by
Country: Argentina Argentina - PHP jobs in Argentina
Age: 30
All time rank: 6929 in Argentina Argentina
Week rank: 871 Down8 in Argentina Argentina Up
Innovation award
Innovation award
Nominee: 5x


  Detailed description   Download .zip .tar.gz  
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

  Classes of Martin Alterisio  >  NamespaceSim  >  Download .zip .tar.gz  >  Support forum Support forum (5)  >  Blog Blog  >  RSS 1.0 feed RSS 2.0 feed Latest changes  
Name: NamespaceSim
Base name: nsim
Description: Emulate class namespaces under PHP 5
Version: 0.5.0
PHP version: 5.1
License: GNU Lesser General Public License (LGPL)
All time users: 1573 users
All time rank: 2202
Week users: 2 users
Week rank: 1363 Up
 
  Groups   Freshmeat project   Rate classes User ratings   Applications   Files Files  

  Groups  
Group folder image PHP 5 Classes using PHP 5 specific features View top rated classes
Group folder image Language Constructs to assist in the language control View top rated classes
Group folder image Code Generation Compilers and tools that generate code automatically View top rated classes


  Innovation Award  
PHP Programming Innovation award nominee
July 2007
Number 4

Prize: One downloadable copy of Komodo Pro
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

  Freshmeat project  
Project record: nsim
Popularity score: 9.59
Vitality score: 1.0

  User ratings  
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%)
67
Month:
Not yet rated by the users

  Applications that use this class  
No application links were specified for this class.
Add link image If you know an application of this package, send a message to the author to add a link here.
  Files folder image Files  
File Role Description
Files folder imageNamespaceSim (8 files)
Files folder imageNotSimulated (1 file)
Files folder imageTestNamespace (2 files)
Files folder imageTestNamespace2 (1 file)
Accessible without login Plain text file example.nsim.php Example nsim example file
Accessible without login Plain text file README Doc. Readme file
Accessible without login Plain text file test.php Example test script

  Files  /  Files folder image NamespaceSim  
File Role Description
  Plain text file ClassConstantFacade.php Class a facade to access a class constants
  Plain text file ErrorMap.php Class nsim source file error mapping
  Plain text file Executer.php Class nsim source file executer
  Plain text file FindClassFacade.php Class a facade to find a real class name when using instanceof operator
  Plain text file Parser.php Class nsim source file parser
  Plain text file Rewriter.php Class nsim source file rewriter
  Plain text file StaticAccessFacade.php Class a facade to access a class static vars
  Plain text file UnexpectedToken.php Class parser unexpected token exception

  Files  /  Files folder image NotSimulated  
File Role Description
  Accessible without login Plain text file TestClass3.php Example access to nonsim'ed from nsim'ed example class

  Files  /  Files folder image TestNamespace  
File Role Description
  Accessible without login Plain text file TestClass.nsim.php Example nsim'ed example class
  Accessible without login Plain text file TestInterface.nsim.php Example nsim'ed example interface

  Files  /  Files folder image TestNamespace2  
File Role Description
  Accessible without login Plain text file TestClass2.nsim.php Example nsim'ed example class

Download all files: nsim.tar.gz nsim.zip
NOTICE: if you are using a download manager program like 'GetRight', please Login before trying to download this archive.