diff --git a/reference/reflection/reflectiongenerator.xml b/reference/reflection/reflectiongenerator.xml new file mode 100644 index 0000000000..e5a18bc7ed --- /dev/null +++ b/reference/reflection/reflectiongenerator.xml @@ -0,0 +1,67 @@ + + + + + + The ReflectionGenerator class + ReflectionGenerator + + + + +
+ &reftitle.intro; + + The ReflectionGenerator class reports + information about a generator. + +
+ + +
+ &reftitle.classsynopsis; + + + + ReflectionGenerator + + + + + ReflectionGenerator + + + + &Methods; + + + + +
+ +
+ + &reference.reflection.entities.reflectiongenerator; + +
+ + diff --git a/reference/reflection/reflectiongenerator/construct.xml b/reference/reflection/reflectiongenerator/construct.xml new file mode 100644 index 0000000000..d7b95fd71e --- /dev/null +++ b/reference/reflection/reflectiongenerator/construct.xml @@ -0,0 +1,113 @@ + + + + + + ReflectionGenerator::__construct + Constructs a ReflectionGenerator object + + + + &reftitle.description; + + public ReflectionGenerator::__construct + Generatorgenerator + + + Constructs a ReflectionGenerator object. + + + + + &reftitle.parameters; + + + + generator + + + A generator object. + + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.examples; + + + <methodname>ReflectionGenerator::__construct</methodname> example + +getFunction()->name} +Line: {$reflectionGen->getExecutingLine()} +File: {$reflectionGen->getExecutingFile()} +output; +]]> + + &example.outputs.similar; + + + + + + + + + &reftitle.seealso; + + + ReflectionGenerator::getFunction + ReflectionGenerator::getExecutingLine + ReflectionGenerator::getExecutingFile + + + + + + + diff --git a/reference/reflection/reflectiongenerator/getexecutingfile.xml b/reference/reflection/reflectiongenerator/getexecutingfile.xml new file mode 100644 index 0000000000..71ed4ebd6e --- /dev/null +++ b/reference/reflection/reflectiongenerator/getexecutingfile.xml @@ -0,0 +1,98 @@ + + + + + + ReflectionGenerator::getExecutingFile + Gets the file name of the currently executing generator + + + + &reftitle.description; + + public stringReflectionGenerator::getExecutingFile + + + + Get the full path and file name of the currently executing generator. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns the full path and file name of the currently executing generator. + + + + + &reftitle.examples; + + + <methodname>ReflectionGenerator::getExecutingFile</methodname> example + +gen(); + +$reflectionGen = new ReflectionGenerator($gen); + +echo "File: {$reflectionGen->getExecutingFile()}"; +]]> + + &example.outputs.similar; + + + + + + + + + &reftitle.seealso; + + + ReflectionGenerator::getExecutingLine + ReflectionGenerator::getExecutingGenerator + + + + + + + diff --git a/reference/reflection/reflectiongenerator/getexecutinggenerator.xml b/reference/reflection/reflectiongenerator/getexecutinggenerator.xml new file mode 100644 index 0000000000..1df890238c --- /dev/null +++ b/reference/reflection/reflectiongenerator/getexecutinggenerator.xml @@ -0,0 +1,102 @@ + + + + + + ReflectionGenerator::getExecutingGenerator + Gets the executing Generator object + + + + &reftitle.description; + + public GeneratorReflectionGenerator::getExecutingGenerator + + + + Get the executing Generator object + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns the currently executing Generator object. + + + + + &reftitle.examples; + + + <methodname>ReflectionGenerator::getExecutingGenerator</methodname> example + +gen(); + +$reflectionGen = new ReflectionGenerator($gen); + +$gen2 = $reflectionGen->getExecutingGenerator(); + +var_dump($gen2 === $gen); +var_dump($gen2->current()); +]]> + + &example.outputs.similar; + + + + + + + + + &reftitle.seealso; + + + ReflectionGenerator::getExecutingLine + ReflectionGenerator::getExecutingFile + + + + + + + diff --git a/reference/reflection/reflectiongenerator/getexecutingline.xml b/reference/reflection/reflectiongenerator/getexecutingline.xml new file mode 100644 index 0000000000..6e007c02f7 --- /dev/null +++ b/reference/reflection/reflectiongenerator/getexecutingline.xml @@ -0,0 +1,98 @@ + + + + + + ReflectionGenerator::getExecutingLine + Gets the currently executing line of the generator + + + + &reftitle.description; + + public intReflectionGenerator::getExecutingLine + + + + Get the currently executing line number of the generator. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns the line number of the currently executing statement in the generator. + + + + + &reftitle.examples; + + + <methodname>ReflectionGenerator::getExecutingLine</methodname> example + +gen(); + +$reflectionGen = new ReflectionGenerator($gen); + +echo "Line: {$reflectionGen->getExecutingLine()}"; +]]> + + &example.outputs.similar; + + + + + + + + + &reftitle.seealso; + + + ReflectionGenerator::getExecutingGenerator + ReflectionGenerator::getExecutingFile + + + + + + + diff --git a/reference/reflection/reflectiongenerator/getfunction.xml b/reference/reflection/reflectiongenerator/getfunction.xml new file mode 100644 index 0000000000..d57ddd2e18 --- /dev/null +++ b/reference/reflection/reflectiongenerator/getfunction.xml @@ -0,0 +1,101 @@ + + + + + + ReflectionGenerator::getFunction + Gets the function name of the generator + + + + &reftitle.description; + + public ReflectionFunctionAbstractReflectionGenerator::getFunction + + + + Enables the function name of the generator to be obtained by returning a + class derived from ReflectionFunctionAbstract. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns a ReflectionFunctionAbstract class. This will + be ReflectionFunction for functions, or + ReflectionMethod for methods. + + + + + &reftitle.examples; + + + <methodname>ReflectionGenerator::getFunction</methodname> example + +getFunction()); +]]> + + &example.outputs.similar; + + + string(3) "gen" +} +]]> + + + + + + + &reftitle.seealso; + + + ReflectionGenerator::getThis + ReflectionGenerator::getTrace + + + + + + + diff --git a/reference/reflection/reflectiongenerator/getthis.xml b/reference/reflection/reflectiongenerator/getthis.xml new file mode 100644 index 0000000000..d46b22a34b --- /dev/null +++ b/reference/reflection/reflectiongenerator/getthis.xml @@ -0,0 +1,100 @@ + + + + + + ReflectionGenerator::getThis + Gets the $this value of the generator + + + + &reftitle.description; + + public objectReflectionGenerator::getThis + + + + Get the $this value that the generator has access to. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns the $this value, or &null; if the generator was + not created in a class context. + + + + + &reftitle.examples; + + + <methodname>ReflectionGenerator::getThis</methodname> example + +gen(); + +$reflectionGen = new ReflectionGenerator($gen); + +var_dump($reflectionGen->getThis()); +]]> + + &example.outputs.similar; + + + + + + + + + &reftitle.seealso; + + + ReflectionGenerator::getFunction + ReflectionGenerator::getTrace + + + + + + + diff --git a/reference/reflection/reflectiongenerator/gettrace.xml b/reference/reflection/reflectiongenerator/gettrace.xml new file mode 100644 index 0000000000..c444dafdbf --- /dev/null +++ b/reference/reflection/reflectiongenerator/gettrace.xml @@ -0,0 +1,171 @@ + + + + + + ReflectionGenerator::getTrace + Gets the trace of the executing generator + + + + &reftitle.description; + + public arrayReflectionGenerator::getTrace + intoptionsDEBUG_BACKTRACE_PROVIDE_OBJECT + + + Get the trace of the currently executing generator. + + + + + &reftitle.parameters; + + + + options + + + The value of options can be any of the following + the following flags. + + + + Available options + + + + Option + Description + + + + + + DEBUG_BACKTRACE_PROVIDE_OBJECT + + + Default. + + + + + DEBUG_BACKTRACE_IGNORE_ARGS + + + Don't include the argument information for functions in the stack + trace. + + + + +
+
+
+
+
+
+
+ + + &reftitle.returnvalues; + + Returns the trace of the currently executing generator. + + + + + &reftitle.examples; + + + <methodname>ReflectionGenerator::getTrace</methodname> example + +valid(); // start the generator + +var_dump((new ReflectionGenerator($gen))->getTrace()); +]]> + + &example.outputs.similar; + + + array(4) { + ["file"]=> + string(18) "example.php" + ["line"]=> + int(8) + ["function"]=> + string(3) "foo" + ["args"]=> + array(0) { + } + } + [1]=> + array(4) { + ["file"]=> + string(18) "example.php" + ["line"]=> + int(12) + ["function"]=> + string(3) "bar" + ["args"]=> + array(0) { + } + } +} +]]> + + + + + + + &reftitle.seealso; + + + ReflectionGenerator::getFunction + ReflectionGenerator::getThis + + + + +
+ +