php interface exists,43、面向对象方法get_object_vars、is_subclass_of、interface_exists
1、get_object_vars($obj) 獲得對象的屬性,以關聯數組形式返回。
get_class_methods() 獲得類的方法,以關聯數組形式返回。
class A{
public $name;
public $age;
public $sex;
public function __construct($name,$age,$sex){
$this->name = $name;
$this->age = $age;
$this->sex = sex;
}
}
$a = new A('fxxy','28','man');
echo '
';print_r(get_object_vars($a));//獲得對象屬性集合,以數組形式展示
print_r(get_class_methods('A'));//獲得類方法集合,以數組形式展示
2、get_parent_class(),參數是對象或者是類名,獲得父類。
class A{
public $name;
public $age;
public $sex;
public function show(){
return $this->name;
}
}
class B extends A{
}
$b = new B();
echo get_parent_class($b);//A
3、is_subclass_of($obj,$class):判斷對象是否是某個類的子類實例化產生的。
class A{
public $name;
public $age;
public $sex;
public function show(){
return $this->sex;
}
}
class B extends A{
}
$b = new B();
echo is_subclass_of($b,'A');//1
4、interface_exists():判斷接口是否存在。
interface A{
function eat();
function walk();
function run();
}
class B implements A{
function eat(){
echo 'eat';
}
function walk(){
echo 'walk';
}
function run(){
echo 'run';
}
}
echo interface_exists('A');//1
5、get_class():獲得當前對象是哪個類實例化出來的。
6、get_declared_classes():以數組形式返回當前腳本中所有的類。
7、get_declared_interfaces():以數組形式返回當前腳本中的所有接口。
class Person{
private $name;
private $age;
private $sex;
public function show(){
echo $this->show();
}
}
$person = new Person();
echo get_class($person);//Person
echo '
';print_r(get_declared_classes());
interface A{
function see();
function watch();
}//當前腳本中所有的類
print_r(get_declared_interfaces());//當前腳本中所有的接口
8、method_exists():判斷某個類中是否存在某個方法,也就是檢查類的方法是否存在。
9、property_exists():判斷某個類中是否存在某個屬性,也就是檢查類的屬性是否存在。
10、instanceof:判斷某個對象是否是某個類實例化產生的。
class A{
public $name;
public $age;
public function show(){
echo 'show';
}
}
$a = new A();
var_dump(method_exists($a,'show'));//true
var_dump(method_exists($a,'go'));//false
var_dump(property_exists('A','name'));//true
var_dump(property_exists($a,'sex'));//false
echo $a instanceof A;//1
echo $a instanceof B// 空
后續還會繼續更新更多面向對象有關的函數!
總結
以上是生活随笔為你收集整理的php interface exists,43、面向对象方法get_object_vars、is_subclass_of、interface_exists的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab上机实验报告,MATLAB上
- 下一篇: php pdo 执行多条语句,php –