[PHP-users 6231] Re: require() 関数の使い方についての質問

しょうなり [ml] php-users@php.gr.jp
Sat, 16 Mar 2002 02:38:24 +0900


しょうなりです。

clam さんは書きました:
>しかし
> require('footer.inc($tittle)');とすると
> Fatal error: Failed opening required 'footer.inc($tittle)'
>(include_path='.:/php/includes:/usr/share/php') in /var/www/html/index.php on line 4
> あまり詳しい内容は分かりませんが重大なエラーで、
>phpのパスが違うというような感じでしょうか?

require()文は指定されたファイルを読み込み、評価します。

この場合は footer.inc($tittle) というファイルを探して、
それが指定されているパス内にないよ、というエラーを返していますよ。

>require関数はマニュアルを見ると、戻り値を設定したら
>パーサーエラーになる、とありましたが
>引数を設定してはいけないとは書いて有りませんでした

逆に引数の設定の仕方も書いてありませんよね。

やりたいことや気持ちはなんとなくわかりますが、
footer.inc は関数ではありませんし、ファイル名に引数を
渡すというのも、おかしく感じますよね?

草薙さんも指摘されていた部分ですが、
> ご参考までに、マニュアルの下記URLのページに、次のような記述があります。
> 「ファイルが読み込まれるときには、読み込まれるファイルの先頭で PHPモードを抜
> けてHTMLモードになり、最後に再びPHPモードに戻ります。」
> http://jp.php.net/manual/ja/function.include.php
とあります。

読み込んだファイルを関数として扱う、ということでしたら、
clamさんのやりたい通りになりますが、PHPはHTMLモードとして
ファイルを読み込みます。

なんとなくわかっていただけたでしょうか?

-- 
print <<<SIG
	しょうなり@信州 肥田昌也
	Email(ML): ml@webappli.jp
	Email:     shounari@webappli.jp
SIG;