本文主要是介绍PHP 类型提示 type hinting,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PHP官方详解
<?php
// An example class
class MyClass
{/*** A test function** First parameter must be an object of type OtherClass*/public function test(OtherClass $otherclass) {echo $otherclass->var;}/*** Another test function** First parameter must be an array*/public function test_array(array $input_array) {print_r($input_array);}/*** First parameter must be iterator*/public function test_interface(Traversable $iterator) {echo get_class($iterator);}/*** First parameter must be callable*/public function test_callable(callable $callback, $data) {call_user_func($callback, $data);}
}// Another example class
class OtherClass {public $var = 'Hello World';
}
?>
<?php
// An instance of each class
$myclass = new MyClass;
$otherclass = new OtherClass;// Fatal Error: Argument 1 must be an object of class OtherClass
$myclass->test('hello');// Fatal Error: Argument 1 must be an instance of OtherClass
$foo = new stdClass;
$myclass->test($foo);// Fatal Error: Argument 1 must not be null
$myclass->test(null);// Works: Prints Hello World
$myclass->test($otherclass);// Fatal Error: Argument 1 must be an array
$myclass->test_array('a string');// Works: Prints the array
$myclass->test_array(array('a', 'b', 'c'));// Works: Prints ArrayObject
$myclass->test_interface(new ArrayObject(array()));// Works: Prints int(1)
$myclass->test_callable('var_dump', 1);
?>
OK,可以看出!所谓 type hinting 意思是在定义成员方法的时候,规定成员方法参数的类型!
如果,成员方法的定义为 类名 变量的形式,那么在传入参数的时候,必须传入该来的实例化对象!
这篇关于PHP 类型提示 type hinting的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!