php什么是函数定义中的“database”关键字

What does the "database" keyword indicate in the function def below? I can't (easily) find documentation for this.

function __construct($arg1, $arg2, database $mysqli = NULL)

This is type hinting. It means that the variable, in this case $mysqli, should meet at least one of the following criteria:

  1. an instance of database class;
  2. an instance from a classe that inherits from a classe named Database;
  3. an instance from a classe that implements an interface named Database.