[PHP-users 919] Re: includeについて

しょうなり php-users@php.gr.jp
Thu, 26 Jul 2001 19:01:57 +0900


こんにちは、しょうなりと申します。

挨拶が遅れましたが、昨日よりこのメーリングリストに参加させていただきました。
以後よろしくお願いします。


----- Original Message ----- 
From: "Masashi Ohba" <ohba@intelight.co.jp>
To: <php-users@php.gr.jp>
Sent: Thursday, July 26, 2001 6:23 PM
Subject: [PHP-users 914] Re: includeについて


> >> function uploade() {
> >>     global $userfile;
> >>     global $userfile_name;
> >>
> >> とグローバル宣言すれば動くのではないでしょうか?
> 
> どこから$userfile_nameってのが
> 出てくるのかよくわからないんですが。

$userfile_name は、文の後ろのほうで出てきてたので、
たぶんこの変数も別のところで指定しているのだと推測して指定しました。


> 行き当たりばったりで済ますならそれが簡単かもしれませんが
> 汎用的に使うような部品単位で作っていくなら
> globalで済ましちゃうと、万が一同じ名前の物が
> どこか出てきたら、それで上書きされます
> 
> function uploade($username){
>> }
> のように関数を作って、明示的に変数を渡して
> 
> uploade($username);
> 
> って使えばいいんではないでしょうか?
> 独立性を高めるなら、これが普通な関数の書き方じゃ
> ないかなぁと思うけど。

おっしゃる通りです。配慮が足りませんでした。
再利用を考えるのでしたら、この通りにしたほうがよろしいですね。


> >> でうまく動くのが謎なんですが…。
> >
> >元々はindex.phpとup.incを一つの形(しょうなり様がなぜ動くのか疑問に思って
> >いらっしゃる形)でした。
> >そして上手く動いておりました。その時はグローバル宣言はしていません
> >でした。
> >それを後で、class uploadeとして色々使いたいと思い、取りあえずup.incに
> >追い出してみたのですが・・・
> 
> 「追い出した」って書いてるあたりから推測するに
> 前はfunction uploade()として使ってなくて
> functionの中身をindex.htmlにベタ書きしてたんではないですか?
> それなら、あからさまに指定しなくても全部「グローバル変数」です

なるほど(^^;
それで疑問が解けました。
ベタ書きでしたら必要ありませんものね。


-----=-=-=-=-=----=-=-==-=-==--==-
しょうなり
shounari@pop16.odn.ne.jp