![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
今は技術・努力不足でglobal変数を多用していますが、できれば使いたくありません。
かといって、今の認識のまま、関数に引数を付け足していったら、引数が増えてしまうし、一つにまとめたものを関数内でlistで展開するのも本末転倒です。
そこでグローバル変数を使っていない、スクリプトを作っているPHPスクリプトがありましたら、教えてください。
できれば、シンプルで簡単なスクリプトが1つのものが、勉強するにはいいのですが。
また、グローバル変数を使わないテクニック、考え方を教えているHPがありましたら、お願いします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_11.png?e8efa67)
No.1ベストアンサー
- 回答日時:
まずは変数を減らすことを考えてみてはどうでしょうか。
変数をカテゴリ分けして、それぞれを配列などにすれば、関数に渡す時にも配列1つ渡すだけで済むかもしれません。
例えば。。。
$a1,$a2,$a3
という変数を
$a[0],$a[1],$a[3]
としておくとか。
$height,$width
を
$size['height'],$size['width']
とするとか。
これで、
func($a,$size)
とすると、関数funcに5つ変数が渡ることになります。
また、配列の要素が増えてしまっても引数のリストは変えずに済むと思います。
参考URL:http://php.s3.to/man/functions.arguments.html
この回答への補足
配列で渡す方法は知っています。
全体的な雰囲気というか、設計思想を考えたいんですよねー。
雰囲気を知るには、実際のスクリプトをみるのが早いかと思いまして。
探してはみたのですが、1つか見つからず、途方にくれています。
しかも、私にはちょっと難しすぎだし。
できれば、
global変数を使っていない。
スクリプトが一つのファイルにまとまっている。
簡単でシンプル。
な物を探しています。
配列化する方法で少し減りました。
が!!、なにか根本的に違っているような。
アルゴリズムというか、流れというか、雰囲気というか。
プロならもっと短くて、シンプルに書けるんじゃないかなー、と思ってはいるんですが。
グローバル変数が多く、変数が行ったり来たりしているので。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_11.png?e8efa67)
No.3
- 回答日時:
オブジェクト指向を学んでみると言うのはどうでしょうか。
機能単位でクラス化するようにプログラミングしていくと後々楽になりますよ。
参考URL:http://hotwired.goo.ne.jp/webmonkey/2005/03/inde …
回答をもらう前より、オブジェクト指向も視野に入れましたが、少し考えた中では、何か少し違うような。
便利なのは分かるのですが、、、。
やっぱり、素人を抜けないレベルなので、そのくらいの感覚なのでしょう。(w
もう少し突き詰めてみようかと思います。
No.2
- 回答日時:
PEARも、いくつかをプリントアウトして持ち歩いてはいるんですよ。
プリントアウトしないと、頭に入らないのは素人っすかねー。(w
あとは、「一見は百聞にしかず」ではありませんが、文章で内容を理解しても、実際に使われているサンプルを見る方が勉強になると思うのですが。
例えば、プロのプログラマーになる人は、学校でプログラムの勉強をしてきました。
でも、「会社の先輩にここはこうやるんだよ。」「あ、そうか。」と教えられる方が勉強になるのではないのでしょうか?違うのかな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- その他(プログラミング・Web制作) Rでのスクリプトのご相談 3 2022/12/08 16:22
- SQL Server SQL 期間内の実施数を合計したい 2 2023/03/03 22:28
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- Excel(エクセル) Excel 在庫管理について 3 2023/02/09 10:00
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- 大人・中高年 異動願いでるべきか。行くとしたらどこか。 4 2022/05/17 05:25
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列をループでたくさん宣言し...
-
String だと「 ByRef引数の型が...
-
PHPにてクラスを配列にすること...
-
$_SESSIONに二次元配列を使える...
-
漢字のソートについて
-
foreachのなかで次のキーを参照...
-
【Smarty】foreach関数やsectio...
-
タブ区切りのデータでnullのデ...
-
配列にある文字列を1つの変数に...
-
Smartyを使って、テーブルを表示
-
phpmyadminにおける動作速度が...
-
読み(あ行~わ行)ごとに分け...
-
Smartyでインクリメント
-
CArrayの要素としてCStringArra...
-
PHPでCSVの一部の行を編集したい
-
C言語の配列をPush(追加)する...
-
rubyで複数列のデータを一行に...
-
多次元配列の中で条件に合う要...
-
forとかで連番の変数を一気に格...
-
ヒアドキュメントの中のfor文
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列をループでたくさん宣言し...
-
$_SESSIONに二次元配列を使える...
-
file_existsでファイル名の部分...
-
String だと「 ByRef引数の型が...
-
foreachのなかで次のキーを参照...
-
配列を回すとき、最後の要素だ...
-
PHPのカッコ[ ]の使い方について
-
PHPのPOSTでの半角スペース
-
セッション配列の取得の仕方
-
PHPにてクラスを配列にすること...
-
配列一致(要素順番は違うが内容...
-
PHP 多次元配列変数のデータ受...
-
漢字のソートについて
-
unset使用時の利点
-
OCI で、SELECT結果行数を取得...
-
postgresql関数をつかったレコ...
-
配列をmysqlに保存
-
あいまい検索
-
チェックボックス複数選択 mys...
-
総当り表
おすすめ情報