136 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  *  base include file for SimpleTest
 | |
|  *  @package    SimpleTest
 | |
|  *  @subpackage UnitTester
 | |
|  *  @version    $Id: reflection_php4.php 2011 2011-04-29 08:22:48Z pp11 $
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  *  Version specific reflection API.
 | |
|  *  @package SimpleTest
 | |
|  *  @subpackage UnitTester
 | |
|  *  @ignore duplicate with reflection_php5.php
 | |
|  */
 | |
| class SimpleReflection {
 | |
|     var $_interface;
 | |
| 
 | |
|     /**
 | |
|      *    Stashes the class/interface.
 | |
|      *    @param string $interface    Class or interface
 | |
|      *                                to inspect.
 | |
|      */
 | |
|     function SimpleReflection($interface) {
 | |
|         $this->_interface = $interface;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Checks that a class has been declared.
 | |
|      *    @return boolean        True if defined.
 | |
|      *    @access public
 | |
|      */
 | |
|     function classExists() {
 | |
|         return class_exists($this->_interface);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Needed to kill the autoload feature in PHP5
 | |
|      *    for classes created dynamically.
 | |
|      *    @return boolean        True if defined.
 | |
|      *    @access public
 | |
|      */
 | |
|     function classExistsSansAutoload() {
 | |
|         return class_exists($this->_interface);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Checks that a class or interface has been
 | |
|      *    declared.
 | |
|      *    @return boolean        True if defined.
 | |
|      *    @access public
 | |
|      */
 | |
|     function classOrInterfaceExists() {
 | |
|         return class_exists($this->_interface);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Needed to kill the autoload feature in PHP5
 | |
|      *    for classes created dynamically.
 | |
|      *    @return boolean        True if defined.
 | |
|      *    @access public
 | |
|      */
 | |
|     function classOrInterfaceExistsSansAutoload() {
 | |
|         return class_exists($this->_interface);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Gets the list of methods on a class or
 | |
|      *    interface.
 | |
|      *    @returns array          List of method names.
 | |
|      *    @access public
 | |
|      */
 | |
|     function getMethods() {
 | |
|         return get_class_methods($this->_interface);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Gets the list of interfaces from a class. If the
 | |
|      *    class name is actually an interface then just that
 | |
|      *    interface is returned.
 | |
|      *    @returns array          List of interfaces.
 | |
|      *    @access public
 | |
|      */
 | |
|     function getInterfaces() {
 | |
|         return array();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Finds the parent class name.
 | |
|      *    @returns string      Parent class name.
 | |
|      *    @access public
 | |
|      */
 | |
|     function getParent() {
 | |
|         return strtolower(get_parent_class($this->_interface));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Determines if the class is abstract, which for PHP 4
 | |
|      *    will never be the case.
 | |
|      *    @returns boolean      True if abstract.
 | |
|      *    @access public
 | |
|      */
 | |
|     function isAbstract() {
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Determines if the the entity is an interface, which for PHP 4
 | |
|      *    will never be the case.
 | |
|      *    @returns boolean      True if interface.
 | |
|      *    @access public
 | |
|      */
 | |
|     function isInterface() {
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Scans for final methods, but as it's PHP 4 there
 | |
|      *    aren't any.
 | |
|      *    @returns boolean   True if the class has a final method.
 | |
|      *    @access public
 | |
|      */
 | |
|     function hasFinal() {
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *    Gets the source code matching the declaration
 | |
|      *    of a method.
 | |
|      *    @param string $method       Method name.
 | |
|      *    @access public
 | |
|      */
 | |
|     function getSignature($method) {
 | |
|         return "function &$method()";
 | |
|     }
 | |
| }
 | |
| ?>
 |