- 締切済み
global 変数を使わないサンプルスクリプト
今は技術・努力不足でglobal変数を多用していますが、できれば使いたくありません。 かといって、今の認識のまま、関数に引数を付け足していったら、引数が増えてしまうし、一つにまとめたものを関数内でlistで展開するのも本末転倒です。 そこでグローバル変数を使っていない、スクリプトを作っているPHPスクリプトがありましたら、教えてください。 できれば、シンプルで簡単なスクリプトが1つのものが、勉強するにはいいのですが。 また、グローバル変数を使わないテクニック、考え方を教えているHPがありましたら、お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- taskuni
- ベストアンサー率71% (49/69)
オブジェクト指向を学んでみると言うのはどうでしょうか。 機能単位でクラス化するようにプログラミングしていくと後々楽になりますよ。
- yambejp
- ベストアンサー率51% (3827/7415)
PEARとか見てみたらどうですか? http://pear.php.net/manual/ja/ 設計思想の問題なので意識してソースを書かない 限り本質的な解決にはならないと思いますけどね
お礼
PEARも、いくつかをプリントアウトして持ち歩いてはいるんですよ。 プリントアウトしないと、頭に入らないのは素人っすかねー。(w あとは、「一見は百聞にしかず」ではありませんが、文章で内容を理解しても、実際に使われているサンプルを見る方が勉強になると思うのですが。 例えば、プロのプログラマーになる人は、学校でプログラムの勉強をしてきました。 でも、「会社の先輩にここはこうやるんだよ。」「あ、そうか。」と教えられる方が勉強になるのではないのでしょうか?違うのかな?
- taskuni
- ベストアンサー率71% (49/69)
まずは変数を減らすことを考えてみてはどうでしょうか。 変数をカテゴリ分けして、それぞれを配列などにすれば、関数に渡す時にも配列1つ渡すだけで済むかもしれません。 例えば。。。 $a1,$a2,$a3 という変数を $a[0],$a[1],$a[3] としておくとか。 $height,$width を $size['height'],$size['width'] とするとか。 これで、 func($a,$size) とすると、関数funcに5つ変数が渡ることになります。 また、配列の要素が増えてしまっても引数のリストは変えずに済むと思います。
お礼
配列化する方法で少し減りました。 が!!、なにか根本的に違っているような。 アルゴリズムというか、流れというか、雰囲気というか。 プロならもっと短くて、シンプルに書けるんじゃないかなー、と思ってはいるんですが。 グローバル変数が多く、変数が行ったり来たりしているので。
補足
配列で渡す方法は知っています。 全体的な雰囲気というか、設計思想を考えたいんですよねー。 雰囲気を知るには、実際のスクリプトをみるのが早いかと思いまして。 探してはみたのですが、1つか見つからず、途方にくれています。 しかも、私にはちょっと難しすぎだし。 できれば、 global変数を使っていない。 スクリプトが一つのファイルにまとまっている。 簡単でシンプル。 な物を探しています。
お礼
回答をもらう前より、オブジェクト指向も視野に入れましたが、少し考えた中では、何か少し違うような。 便利なのは分かるのですが、、、。 やっぱり、素人を抜けないレベルなので、そのくらいの感覚なのでしょう。(w もう少し突き詰めてみようかと思います。