PHP7は、タイプヒント機能を導入します。これにより、開発者は関数を宣言するときにパラメーターのタイプを明示的に指定できます。このようにして、コードを作成するときにタイプの不一致エラーを回避できるため、コードの読みやすさとタイプの安全性が向上します。
タイプヒントの使用方法は非常に単純です。関数宣言のパラメーターの前にタイプ宣言を追加する必要があります。これが例です:
<span class="fun">関数計算(int $ a、int $ b):int {</span>
<span class="fun"> $ a + $ bを戻るします。</span>
<span class="fun">}</span>
<span class="fun">$ result = calculatesum(5、10);</span>
<span class="fun">echo $ result; //出力15</span>
この例では、intタイプを介してパラメーター$ aと$ bを宣言します。これは、計算型関数に渡されたパラメーターが整数型でなければならないことを意味します。そうしないと、コンピレーションフェーズ中にタイプエラーがスローされます。
タイプ宣言に準拠していないパラメーターを渡そうとすると、PHPはコンピレーションフェーズ中にエラーを報告します。例えば:
<span class="fun">$ result = calculatesum(5、 "10");</span>
次のエラーがスローされます。
致命的なエラー:Uncaught TypeError:calculatesum()に渡された引数2は、int、文字列が与えられたtype intでなければなりません
タイプヒントは、スカラータイプ(整数、浮動小数点数、ブール値など)をサポートするだけでなく、配列、オブジェクト、カスタムタイプでも使用できます。ここにいくつかの例があります:
<span class="fun">function processArray(array $ arr):void {</span>
<span class="fun"> //配列の処理</span>
<span class="fun">}</span>
<span class="fun">function processObject(myobject $ obj):void {</span>
<span class="fun"> //オブジェクトの処理</span>
<span class="fun">}</span>
<span class="fun">クラスmyobject {</span>
<span class="fun"> //クラス意味</span>
<span class="fun">}</span>
<span class="fun">$ myArray = [1、2、3];</span>
<span class="fun">ProcessArray($ myArray); //普通にアクションします</span>
<span class="fun">$ myobject = new Myobject();</span>
<span class="fun">ProcessObject($ myobject); //普通に実行します</span>
関数パラメーターのタイプを宣言することに加えて、タイプヒントを使用すると、関数の返品値タイプを宣言することもできます。これが例です:
<span class="fun">関数計算(int $ a、int $ b):int {</span>
<span class="fun"> $ a + $ bを戻るします。</span>
<span class="fun">}</span>
<span class="fun">$ result = calculatesum(5、10);</span>
<span class="fun">echo $ result; //出力15</span>
この例では、関数は、戻り値が整数(int)であることを明示的に計算します。関数によって返されたタイプが宣言されたタイプと一致しない場合、PHPはタイプエラーをスローします。
<span class="fun">関数計算(int $ a、int $ b):int {</span>
<span class="fun"> 「15」を戻るします。</span>
<span class="fun">}</span>
<span class="fun">$ result = calculatesum(5、10);</span>
これにより、次のエラーが発生します。
致命的なエラー:Uncaught TypeError:calculatesum()のreturn値は、int intのタイプである必要があり、文字列は返されます
タイプヒントは、PHP7によって導入された重要な機能であり、コンパイルフェーズ中にタイプエラーをキャプチャおよび回避し、コードの読みやすさとタイプの安全性を高めることができます。パラメーターを明示的に指定し、関数の値を返すことにより、開発者は潜在的なバグを効果的に減らし、コードの品質を改善できます。