WordPressもサポートPHPバージョンが7以上になったので、ちょっと触ってみようかなと思っての覚書。
普通の書き方
<?php
function get_greeding_message($number) {
return $number;
}
print_r( get_greeding_message( 1 ) );
messageなのに数字返ってきますね。これを型宣言でつぶしてみます。
型を宣言する
<?php
function get_greeding_message( int $number ): string {
return $number;
}
print_r( get_greeding_message( 1 ) );
普通に書くとこんな感じですね。
ただ、これをこのまま実行しても、エラーにはなりません。
強い型付け
declare(strict_types=1);
を書くことで、厳密にチェックすることができます。
https://www.php.net/manual/ja/functions.arguments.php#functions.arguments.type-declaration.strict
<?php
declare(strict_types=1);
function get_greeding_message( int $number ): string {
return $number;
}
print_r( get_greeding_message( 1 ) );
ここまで書くと、実行時にエラーがでます。
PHP Fatal error: Uncaught TypeError: Return value of get_greeding_message() must be of the type string, integer returned in /home/ec2-user/test.php:4
Stack trace:
#0 /home/ec2-user/test.php(6): get_greeding_message(1)
#1 {main}
thrown in /home/ec2-user/test.php on line 4
動くようにする
<?php
declare(strict_types=1);
function get_greeding_message(int $number): string {
return 'Hello No.' . $number;
}
print_r( get_greeding_message( 1 ) );