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()";
|
|
}
|
|
}
|
|
?>
|