Laravelで定義した関数名の末尾にコロン型(:array, : int, : stringなど)がついていたため、何の意味があるのか調べてみた。
結論からいうと、戻り値の型を指定している。
function 関数名(引数の型 引数):戻り値の型
{
処理
}
:
の後ろはスペースを開けてもいい。:int
でも: int
でもどちらでも問題ない。
指定した型と異なる場合はTypeErrorが発生する。
error
Errors with:
Fatal error: Uncaught TypeError: Return value of 関数名() must be an instance of 型
例
# 例1
function origin(string $path):string {
処理
}
# 例2
function counter(?string $src, int $number):int {
処理
}
# 例3
function page_arr(int $current, int $last):array {
処理
}
[PHP公式 戻り値](https://www.php.net/manual/ja/functions.returning-values.php#functions.returning-values.type-declaration) 下部の英語の部分に記載されている。