2016-10-31 9 views
11
public function getRecords(int $id): array; 

こんにちは、誰かがコロンがここで何をしているのか教えてもらえますか?これはPHP 7の構文で、ここではどの配列が意味ですか?メソッドは配列などを返す必要がありますか?メソッド宣言後のコロン?

答えて

11

はいメソッドを宣言するためにPHP 7で導入された新しい構文は、配列を返します。

http://php.net/manual/en/functions.returning-values.php#functions.returning-values.type-declaration

+0

「;」はPHP 7の新機能ではないことに注意してください。これは、インタフェースで定義されたどのメソッドでも必要です。この質問の新しい構文は、戻り値の型宣言のための ':array'です。 – nerdlyist

+0

はいそれは正しいです – fire

+0

それからその答えを述べたいかもしれません。 – nerdlyist

8

これらはPHP7でReturn Type declarationsと呼ばれています。関数が返す値の型を示し、配列に限定されません。たとえば、あなたがfloatintあるいは独自のクラスを使用することができます。

class MyClass { } 

function something(): MyClass { 
    return new MyClass(); 
} 

これらは単に読みやすくするためではありません。関数が指定された型以外の型を返す場合、値は指定された型に強制的に変換されます。強制できない場合、または厳密モードが有効な場合は、型エラーがスローされます。

関連する問題