今回は外部ファイルの関数の呼び出しについて書いていきます。
タイトルだけみると「なんのこっちゃ?」と思いますが安心してください。
さっそくサンプルプログラムをみてみましょう。
<?php $a = 2; $b = 1; $c = $a - $b * $a; echo return_word($a); //function3.phpの関数を使いたいと思ってる echo "<br>"; //改行 echo return_word($b); echo "<br>"; //改行 echo return_word($c); ?>
このプログラムでやりたかったことは、前回作成したreturn_word関数、
これはfunction3.phpに書いています。
これを、function4.phpからも使いたいなーと思って、書いてみた、
という状況です。
しかし、実行結果は「Fatal error Call to undefined function」
ということで、日本語にすると「致命的なエラー、未定義の関数の呼び出し」
ということで、エラーになりました。
やはり、違うファイルに定義されている関数を簡単には使えないようです。
まずは、非効率ですが、実現可能なやり方を紹介します。
ただし、非効率とはわかっていても、ついついやってしまう時があります。。。
これはつまり、function3.phpに書いてある関数をコピーして、
function4.phpにペーストする、ということです。
<?php function return_word($data){ //関数をコピペしてくる if($data == 1){ return "a"; }else if($data == 2){ return "b"; }else{ return "c"; } } $a = 2; $b = 1; $c = $a - $b * $a; echo return_word($a); //上部の関数が実行される echo "<br>"; //改行 echo return_word($b); echo "<br>"; //改行 echo return_word($c); ?>
コピペすればちゃんと動きます。以下が実行結果です。
しかしながら、関数を使うたびにコピペしなきゃいけないのか?
と思うと、なんだか非効率な気がします。
上の画像に書いた通り、もっと賢い方法があります。
それはまた次回に。