MOCKSTACKS
EN
Questions And Answers

More Tutorials









PHP Type hinting


Type hinting for classes and interfaces was added in PHP 5.

Class type hint


<?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);
?>

Output

Chris is being enrolled at University of Edinburgh


Interface type hint


<?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);
?>

Output

Chris is being enrolled at University of Edinburgh

Self type hints


The self keyword can be used as a type hint to indicate that the value must be an instance of the class that declares the method.

Conclusion

In this page (written and validated by ) you learned about PHP Type hinting . What's Next? If you are interested in completing PHP tutorial, your next topic will be learning about: PHP Generators.



Incorrect info or code snippet? We take very seriously the accuracy of the information provided on our website. We also make sure to test all snippets and examples provided for each section. If you find any incorrect information, please send us an email about the issue: mockstacks@gmail.com.


Share On:


Mockstacks was launched to help beginners learn programming languages; the site is optimized with no Ads as, Ads might slow down the performance. We also don't track any personal information; we also don't collect any kind of data unless the user provided us a corrected information. Almost all examples have been tested. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. By using Mockstacks.com, you agree to have read and accepted our terms of use, cookies and privacy policy.