declare文を実装して厳密な型チェックを行いたい。
でも、いざ書いてみても正常に動いてくれず意味不明のエラーが出てしまう(・・?アラマ・・・
そんな時の解決策をご紹介します。
先に結論から言いますと、declare文の正しい書き方は、
以上の方法で記述すると正しく実装できます◎
//declare文の書き方(コピペOK)
<?php declare(strict_types=1); ?>
重要なポイントは、
- 必ず<!DOCTYPE html>よりも手前に書く
- <?php 〜 ?>で囲うようにして書く
はい。これで無事解決できましたね^^
declare(strict_types=1);を書くときにありがちなエラー原因とは?
他サイトで調べたりすると、大体 <?php 〜?> の中に書くようにというアドバイスがあるので、それを鵜呑みにして、すでにあるPHPのコード内にコピペしてしまうと、、、まんまと失敗するハメになります。
あとは、「コードの一番上に記述するように〜」と書いてあるサイトもありますよね。
そうすると、とりあえず一番上にコピペしてみるんですが、VCS(エディタソフト)だと何の反応も出ず、「あれれっ!?」と焦るパターンも。
こういう書き方をしていると、declare文はうまく実装できずエラーになるわけです。
declare文が正しく読み込まれない時の正しい使い方
というわけで、declare(strict_types=1);を使いたいときは、冒頭で触れたとおり、プログラムの最上段に改めて<?php 〜 ?>を設け、その中に記述するようにしましょう。
//declare文の書き方
<?php declare(strict_types=1); ?>
これでエラーも消えて、間違いなく動くようになりますよ◎