instanceof
instanceof
看下面的一
段代码:
<?php
class baseClass {}
class subClass extends baseClass{ }
interface aInterface {}
class aClass implements aInterface
{}
$a = new baseClass( );
echo( ($a instanceof baseClass)
);
$b = new subClass() ;
echo( ($b instanceof baseClass)
);
$c = new aClass();
echo( ($c instanceof aInterface
));
?>
虽然PHP5是松散型 的程序语言,但PHP
5仍新增了Class
Type Hints的功能,用
来声明传入对象的参数
所需要符合类型。如果
传入的参数不符合指定
的类型会产fatal
error。看下面的
代码。
<?php
class Foo {}
class Bar {}
function check(Foo $obj) {
echo("T he passed in object is Foo/its subclass/i
ts implementa
tion(if Foo is interface)
.<br>");
}
$a = new Foo();
$b = new Bar();
check($a);
check($b);
?>
其实使用Class Type Hints就和以下程 序代码的意义一样:
<?php
function check($obj ) {
if (!($obj instanceof aClassName
)) {
die("Ar gument 1 must be an instance of aClassName
");
}
}
?>
<?php
class baseClass {}
class subClass extends baseClass{
interface aInterface
class aClass implements
$a = new baseClass(
echo( ($a instanceof
$b = new subClass()
echo( ($b instanceof
$c = new aClass();
echo( ($c instanceof
?>
虽然PHP5是松散型
<?php
class Foo {}
class Bar {}
function check(Foo $obj) {
echo("T
}
$a = new Foo();
$b = new Bar();
check($a);
check($b);
?>
其实使用Class Type Hints就和以下程
<?php
function check($obj
if (!($obj instanceof
die("Ar
}
}
?>