2011-08-01 8 views
1

私のコードが面倒だったので、私はMVCデザインパターンを使ってアップローダーを書き直すことに決めました。MVC、どのように私の設定ファイルを書くのですか?

-model.php: 基本的には、データベースからデータを取得するために必要なすべての機能を持つクラスです(最後にアップロードしたファイル、現在のユーザーのファイル数など)。 PDO(PDOオブジェクト)によって作成されたリソースを保持するdb_linkという専用変数があります。

-index.php: コントローラです。アップロードされたファイルがあるかどうかをチェックし、有効な拡張子があるかどうかをチェックします。これはmodel.phpに含まれるクラスから関数を呼び出します(このクラスのオブジェクトを最初に作成します)。

-settings.php: 私の設定ファイル。ここでデータベースのユーザー名、パスワード、最大ファイルサイズ、許可される拡張子などを特定します。 私は次のようにします: $ allowed_extension = array( 'swf'、 'txt'、 'jpg'、 'gif '、' png ');

しかし、これをindex.phpに組み込み、関数内でこの変数を使用しようとすると、同じスコープ内にないので機能しません。私はそれをしたくない)。私は自分の設定を整理するためのより良い方法が必要です。

また、先ほどお話したクラスでdbオブジェクトを作成します。私は呼びたい機能にオブジェクトを渡す必要があります。これは首の痛みです。私はそれを行うことができる別の方法はありますか?

答えて

0

あなたはおそらくのsettings.phpに定数を使用する必要があります。

  • あなたが方法をシリアライズ使用して配列を格納することができます( PHP Constants Containing Arrays? のための答えを参照)
  • 定数は、より読みやすいどこでも
  • ご利用いただけます
  • 設定は常に一定にする必要があります。

dbに関しては、私は常にシングルトンのパターンを使用しています。それからちょうどModel_Mysql::getInstance();を使用すると、どこでも自動的に使用できるようになります。

関連する問題