• ベストアンサー

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... } としたらよいのでしょうか? どなたかアドバイスいただけますと幸いです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

関数の中で大域変数を使うには、 関数の先頭で global $変数名; とするか $GLOBALS["変数名"] で大域変数としてアクセスします。

first-try
質問者

お礼

ご返答ありがとうございます。 自分でもいろいろ調べたのですが、global宣言をするのが一番スマートなようでした。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

いまいち状況がわかりませんが、とりあえずclass化 してみてはいかがでしょうか?

first-try
質問者

お礼

クラス化。してみたいのですが、クラス設計まで私の頭が追いついていません。 もう少し勉強した後に、やってみたいと思います。 ご返答ありがとうございました。

関連するQ&A