今回は外部ファイルの関数の呼び出しについて書いていきます。
タイトルだけみると「なんのこっちゃ?」と思いますが安心してください。
さっそくサンプルプログラムをみてみましょう。
<?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);
?>
コピペすればちゃんと動きます。以下が実行結果です。

しかしながら、関数を使うたびにコピペしなきゃいけないのか?
と思うと、なんだか非効率な気がします。
上の画像に書いた通り、もっと賢い方法があります。
それはまた次回に。