- ベストアンサー
PHP 設定ファイルとユーザ定義関数
ある機能を満たすためのライブラリ(lib.php)を作成しました。 このlib.phpはユーザ定義関数の寄せ集めです。 それぞれのユーザ定義関数では、設定ファイル(config.php)に記述されている共通変数を利用します。 このconfig.phpなのですが、ユーザ定義関数ごとにincludeする以外の方法はあるでしょうか? lib.php function one() { $hensu1... $hensu2... ...処理; } function two() { $hensu1... ...処理; } .... config.php $hensu1 = 1; $hensu2 = 2; ... という構成です。 function one,function twoでconfig.phpの変数を利用したいのですが、lib.phpの先頭でinclude "config.php"をしてもfunctionの中では変数のスコープが有効にはならず、 lib.php function one() { include "config.php"; ...処理; } function two() { include "config.php"; ...処理; } としています。 PHP5を使用しています。 function one() { global $hensu1... } としたらよいのでしょうか? どなたかアドバイスいただけますと幸いです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
関数の中で大域変数を使うには、 関数の先頭で global $変数名; とするか $GLOBALS["変数名"] で大域変数としてアクセスします。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
いまいち状況がわかりませんが、とりあえずclass化 してみてはいかがでしょうか?
お礼
クラス化。してみたいのですが、クラス設計まで私の頭が追いついていません。 もう少し勉強した後に、やってみたいと思います。 ご返答ありがとうございました。
お礼
ご返答ありがとうございます。 自分でもいろいろ調べたのですが、global宣言をするのが一番スマートなようでした。