Проширување
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Проширување
Референца за `reflection.extending.php` со подобрена типографија и навигација.
Проширување
If you want to create specialized versions of the built-in classes (say, for creating colorized HTML when being exported, having easy-access member variables instead of methods or having utility methods), you may go ahead and extend them.
Ако сакате да креирате специјализирани верзии на вградените класи (на пример, за креирање обоени HTML при извоз, имајќи членови со лесен пристап наместо методи или имајќи помошни методи), можете да ги проширите.
<?php
/**
* My Reflection_Method class
*/
class My_Reflection_Method extends ReflectionMethod
{
public $visibility = array();
public function __construct($o, $m)
{
parent::__construct($o, $m);
$this->visibility = Reflection::getModifierNames($this->getModifiers());
}
}
/**
* Demo class #1
*
*/
class T {
protected function x() {}
}
/**
* Demo class #2
*
*/
class U extends T {
function x() {}
}
// Print out information
var_dump(new My_Reflection_Method('U', 'x'));
?>Горниот пример ќе прикаже нешто слично на:
object(My_Reflection_Method)#1 (3) {
["visibility"]=>
array(1) {
[0]=>
string(6) "public"
}
["name"]=>
string(1) "x"
["class"]=>
string(1) "U"
}
Пример #1 Проширување на вградените класи
Fatal error: Internal error: Failed to retrieve the reflection object