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
}
}
?>

2123

被折叠的 条评论
为什么被折叠?



