在PHP 5中添加了有关类和接口的类型提示。
<?php class Student { public $name = 'Chris'; } class School { public $name = 'University of Edinburgh'; } function enroll(Student $student, School $school) { echo $student->name . ' is being enrolled at ' . $school->name; } $student = new Student(); $school = new School(); enroll($student, $school);
上面的脚本输出:
克里斯被爱丁堡大学录取
<?php interface Enrollable {}; interface Attendable {}; class Chris implements Enrollable { public $name = 'Chris'; } class UniversityOfEdinburgh implements Attendable { public $name = 'University of Edinburgh'; } function enroll(Enrollable $enrollee, Attendable $premises) { echo $enrollee->name . ' is being enrolled at ' . $premises->name; } $chris = new Chris(); $edinburgh = new UniversityOfEdinburgh(); enroll($chris, $edinburgh);
上面的示例输出与之前相同:
克里斯被爱丁堡大学录取
的self关键字可被用作一种类型的提示,以指示该值必须是一个声明所述方法的类的一个实例。