get_class()、get_called_class()、get_class_methods()

973 ワード

<?php
class A
{
	function __construct()
	{
		echo __CLASS__;
	}

	static function name()
	{
		echo __CLASS__;
	}
}

class B extends A
{
}

$objB = new B(); //    A
B::name();       //    A
 
 
<?php
class A
{
	function __construct()
	{
		echo get_class($this);
	}

	static function name()
	{
		echo get_called_class();
	}
}

class B extends A
{
}

$objB = new B(); //    B
B::name();       //    B
<?php
class myclass
{
	// constructor
	function myclass()
	{
		return (true);
	}

	// method 1
	function myfunc1()
	{
		return (true);
	}

	// method 2
	function myfunc2()
	{
		return (true);
	}
}

$class_methods = get_class_methods('myclass');

// or
$class_methods = get_class_methods(new myclass());
foreach ($class_methods as $method_name)
{
	echo "$method_name";
}
myclass
myfunc1
myfunc2