The ReflectionClass::export() function is an inbuilt function in PHP which is used to return a string if the parameter has been set to TRUE, otherwise return NULL.
Syntax:
string ReflectionClass::export( mixed $argument, bool $return = FALSE)
Parameters: This function accepts two parameters as mentioned above and described below:
- $argument: It holds the user-defined class which are to be exported.
- $return: It is a Boolean value either TRUE or FALSE.
Return Value: This function returns as a string if the parameter has been set to TRUE, otherwise returns NULL.
Below programs illustrate the ReflectionClass::export() function in PHP:
Program 1:
<?php // Defining a user-defined class Company class Company { public $var1 = 'neveropen' ; public $var2 = 'GFG' ; public function type() { return 'Company' ; } } // Calling the export function $A = ReflectionClass::export( 'Company' , $return = TRUE); // Getting the returned value var_dump( $A ); ?> |
Output:
string(389) "Class [ class Company ] { @@ /home/cg/root/7286175/main.php 4-11 - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [2] { Property [ public $var1 ] Property [ public $var2 ] } - Methods [1] { Method [ public method type ] { @@ /home/cg/root/7286175/main.php 8 - 10 } } } "
Program 2:
<?php // Calling the export function on inbuilt ReflectionClass $A = ReflectionClass::export( 'ReflectionClass' ); // Getting the returned value var_dump( $A ); ?> |
Output:
Class [ <internal:Reflection> class ReflectionClass implements Reflector ] { - Constants [3] { Constant [ integer IS_IMPLICIT_ABSTRACT ] { 16 } Constant [ integer IS_EXPLICIT_ABSTRACT ] { 32 } Constant [ integer IS_FINAL ] { 4 } } - Static properties [0] { } - Static methods [1] { Method [ <internal:Reflection, prototype Reflector> static public method export ] { - Parameters [2] { Parameter #0 [ <required> $argument ] Parameter #1 [ <optional> $return ] } } } - Properties [1] { Property [ <default> public $name ] } - Methods [50] { Method [ <internal:Reflection> final private method __clone ] { - Parameters [0] { } } Method [ <internal:Reflection, ctor> public method __construct ] { - Parameters [1] { Parameter #0 [ <required> $argument ] } } Method [ <internal:Reflection, prototype Reflector> public method __toString ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getName ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isInternal ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isUserDefined ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isAnonymous ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isInstantiable ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isCloneable ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getFileName ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getStartLine ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getEndLine ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getDocComment ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getConstructor ] { - Parameters [0] { } } Method [ <internal:Reflection> public method hasMethod ] { - Parameters [1] { Parameter #0 [ <required> $name ] } } Method [ <internal:Reflection> public method getMethod ] { - Parameters [1] { Parameter #0 [ <required> $name ] } } Method [ <internal:Reflection> public method getMethods ] { - Parameters [1] { Parameter #0 [ <optional> $filter ] } } Method [ <internal:Reflection> public method hasProperty ] { - Parameters [1] { Parameter #0 [ <required> $name ] } } Method [ <internal:Reflection> public method getProperty ] { - Parameters [1] { Parameter #0 [ <required> $name ] } } Method [ <internal:Reflection> public method getProperties ] { - Parameters [1] { Parameter #0 [ <optional> $filter ] } } Method [ <internal:Reflection> public method hasConstant ] { - Parameters [1] { Parameter #0 [ <required> $name ] } } Method [ <internal:Reflection> public method getConstants ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getConstant ] { - Parameters [1] { Parameter #0 [ <required> $name ] } } Method [ <internal:Reflection> public method getInterfaces ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getInterfaceNames ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isInterface ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getTraits ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getTraitNames ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getTraitAliases ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isTrait ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isAbstract ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isFinal ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getModifiers ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isInstance ] { - Parameters [1] { Parameter #0 [ <required> $object ] } } Method [ <internal:Reflection> public method newInstance ] { - Parameters [1] { Parameter #0 [ <required> $args ] } } Method [ <internal:Reflection> public method newInstanceWithoutConstructor ] { - Parameters [0] { } } Method [ <internal:Reflection> public method newInstanceArgs ] { - Parameters [1] { Parameter #0 [ <optional> array $args ] } } Method [ <internal:Reflection> public method getParentClass ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isSubclassOf ] { - Parameters [1] { Parameter #0 [ <required> $class ] } } Method [ <internal:Reflection> public method getStaticProperties ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getStaticPropertyValue ] { - Parameters [2] { Parameter #0 [ <required> $name ] Parameter #1 [ <optional> $default ] } } Method [ <internal:Reflection> public method setStaticPropertyValue ] { - Parameters [2] { Parameter #0 [ <required> $name ] Parameter #1 [ <required> $value ] } } Method [ <internal:Reflection> public method getDefaultProperties ] { - Parameters [0] { } } Method [ <internal:Reflection> public method isIterateable ] { - Parameters [0] { } } Method [ <internal:Reflection> public method implementsInterface ] { - Parameters [1] { Parameter #0 [ <required> $interface ] } } Method [ <internal:Reflection> public method getExtension ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getExtensionName ] { - Parameters [0] { } } Method [ <internal:Reflection> public method inNamespace ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getNamespaceName ] { - Parameters [0] { } } Method [ <internal:Reflection> public method getShortName ] { - Parameters [0] { } } } } NULL
Reference: https://secure.php.net/manual/en/reflectionclass.export.php