今回はphpの予約語について学習していきましょう!
プログラミング言語には、あらかじめ機能が指定されている言葉があります。
プログラミング界隈では、それらを「予約語」と呼びます。
なんだか難しそうな雰囲気がしますが、皆さんもよく使っているものですので、
理解はしやすいかと思います。それではやっていきましょう!!
phpに限らず、プログラミング言語には予約語という概念が存在します。
予約語とは「機能をあらかじめ指定されている単語」という説明がわかりやすいかと思います。
例えば、PCや電子機器の[電源ボタン](1と0が重なっているマーク)を押すと、電子機器の電源が入りますよね?
あれは、マークやボタンと機能をあらかじめ指定していると言えます。
予約語も同じ意味合いを持ちます。
特定の単語を記述すると、指定の処理を行なってくれるイメージです。
phpだとechoやif,forやforeachなどが予約語に該当します。
予約語の特徴として、
①呼び出すと、指定された処理を行う
②予約語と同じ単語は関数・クラス・定数に設定できない
③変数名には設定できる
があります。
予約語を呼び出すと指定の処理を行います。
<?php echo "echoは予約語です。"; ?>
出力結果
echoは予約語です。
ちなみにechoは予約語なので、関数ではないことに注意しておきましょう。
実際に確認してみましょう!
<?php function hello(){ echo "hello"; } hello(); ?>
出力結果は以下となります。
hello
次は同じコードを使用して、関数名だけechoに変更したコードとなります。
<?php function echo(){ echo "hello"; } echo(); ?>
出力結果は以下となります。
PHP Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting '('
同じ処理を記述しても、echoが予約語のため関数定義ができない結果となりました。
これは特に、フレームワークを使用する際に意識しておいてください!
フレームワークは非常に便利ですが、便利がゆえに様々な予約語・命名規則が存在するため、命名が被ってしまうことがあります。
注意しましょう!
<?php $echo = "変数名:echo"; echo $echo; ?>
出力結果は以下となります。
変数名:echo
$echoという変数の定義をすることができました!
ただ、予約語を変数名に設定することはやめた方が良いでしょう。
思わぬバグの元になりますし、何よりもわかりづらいです。(使うメリットがあまりないように思えます)
定数・変数・関数名は直感的に機能が理解できる命名を心がけましょう!
まとめ
今回は「予約語」について学習いたしました!
予約語を意識することは少ないと思いますが、大切な概念ですので頭の片隅には入れておきましょう!
今回は以上となります!