kunitsuji
tsuji****@m-s*****
2008年 7月 14日 (月) 11:34:15 JST
kunitsujiです。 まず、config/ディレクトリ以下のファイルは、あくまでも設定情報を 配列で保存する場所。 と考えたほうがいいです。 詳しくConfigクラスを追っていないので正確な部分はお伝えできませんが。 ということは、ここでいろいろ書いていくのはよろしくないということですね。 設定情報をここで配列で保存する方法がいい悪いはあるとは思いますが。 次に自分がいまやっている方法を書きますね。 application/conf/ ディレクトリを用意して、そこに設定情報を書いたファイルを保存しています。 例) application/conf/config_database.php application/conf/config_define.php というファイルを保存しています。 次に、 application/config/config.phpで include_once APPPATH . "conf/config_define.php" ; として、その設定情報を読み込んでいます。 config.phpの中の記述は次のようにしています。 $config['base_url'] = MYNETS_URL; $config['base_url_ssl'] = MYNETS_URL_SSL; config_define.phpでは次のように記述 //URLの情報 define('MYNETS_URL', 'http://localhost/CI/mynets2/'); define('MYNETS_URL_SSL', 'https://localhost/CI/mynets2/'); //SNSから配信するメールアドレス define('SNS_MAIL', 'sns****@mynet*****'); //管理画面でメールを開く場合(エラーメール等の対処) define('SNS_MAIL_SMTP_USER', 'username'); define('SNS_MAIL_SMTP_PASS', 'password'); //ユーザー権限の設定 define('MYNETS_ROLE_MEMBER', 1); define('MYNETS_ROLE_GUEST', 0); define('MYNETS_ROLE_SUPERU_USER', 99); define('MYNETS_ROLE_ADMIN', 10); //出力する文字コードデフォルト define('MYNETS_OUTPUT_ENCODE', 'UTF-8'); ・・・・・・・ で、これを読み込んで、それぞれのconfig.phpで 定数をセットしているということですね。 これがいいのか悪いのかはわかりません。 あとは、1.6.3では application/config/constants.php というファイルが追加され、ここに define('FILE_READ_MODE', 0644); define('FILE_WRITE_MODE', 0666); define('DIR_READ_MODE', 0755); define('DIR_WRITE_MODE', 0777); 等が記載されています。 つまりここに記載しておけばいいのかなとか思いますが、ファイルの読み込み順 およびコアシステムで使われるものなのでバージョンアップの際に変更される可 能性があり、自分としては独立してconf/ディレクトリに設定情報を書いていま す。 あと、下記の部分ですが、関数を設置していますが、これを呼び出してないとい うことと、 $DB_HOSTという変数は、この関数内でしか使えないのでだめですね。 また、config/database.php内においても $this->config->loadは使えないとおもいます。 >JOMRです。 > > >> つまり、config.phpやその他の設定ファイルでは$this->がつかえませんよというこ >> とです。 >> これがいいたいためにエラーを確認してもらったんです。 >という事は一旦変数に入れて利用すればいいということですか? >config/database.php を >function Database() >{ > parent::Database(); > $this->config->load('config_customer', TRUE); > $DB_HOST = $this->config->item('db_host', 'config_customer'); >} > >$active_group = "default"; >$active_record = TRUE; > >$db['default']['hostname'] = $DB_HOST; > >としてみました。 >すると表示はしたものの >A PHP Error was encountered > >Severity: Notice > >Message: Undefined variable: DB_HOST > >Filename: config/database.php > >Line Number: 46 >となり少し表示がかわりました。 > > >> 詳しくは後ほど >宜しくお願いします。 > >_______________________________________________ >Codeigniter-users mailing list >Codei****@lists***** >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users