PHP declare
例
各命令の後に関数を実行します。
<?php
$count = 0;
function example() {
global $count;
$count++;
echo "$count instructions executed<br>";
}
register_tick_function('example');
declare(ticks=1) {
$cars = ["Ford", "Volvo", "BMW"];
foreach($cars as $car) {
echo "$car <br>";
}
}
?>
定義と使用法
declareは、コードのブロックに対して実行指令を設定します。declare文の後にブロックが続かない場合、そのディレクティブはファイル内の残りのコードに適用されます。
宣言できるディレクティブは
ticks、encoding、strict_typesの3つがあります。
ticksディレクティブは、指定された数の命令が実行されるたびに tickイベントを送信します。 tickイベントが発生するたびに実行される tick関数を登録できます。
encodingディレクティブは、ファイルが使用している文字エンコーディングを示すために使用されます。ブロックでは使用できません。ファイル全体に適用する必要があります。
strict_typesディレクティブが設定されている場合、型ヒントを使用して関数引数に渡された間違った型の値は、正しい型にキャストされる代わりに致命的なエラーを投げます。
関連ページ
・enddeclareキーワード。
その他の例
例
各命令の後に関数を実行します。
<?php
declare(strict_types=1);
function sum(int $a, int $b) {
return $a + $b;
}
// '5'が数値ではなく文字列であるため、致命的なエラーをスローする。
sum("5", 1);
?>