2011-07-29 10 views
1

私はいくつかの製品をエクスポートするためにDBを利用するシンプルなPHPスクリプトを書いています。私のコードはファイルを正しく要求し、そのファイルを使用するにはどうしたらいいですか?

$host = "localhost"; 
$user = ""; 
$pass = ""; 
$database = ""; 

のようになります。しかし、それは私がやったことと同じディレクトリ

に保存されている使用configuration.phpファイルを作成する方法はありますこれをされているが、私はこれがconfiguration.phpがある

require('configuration.php'); 
echo $user; 

どんな結果になったしませんでしたファイル

<?php 
class JConfig { 
var $dbtype = 'mysql'; 
var $host = 'localhost'; 
var $user = 'user'; 
var $password = 'pass'; 
var $db = 'db'; 
} 
?> 

答えて

2

コンフィグレーションにクラスを使用する場合は、それを初期化する必要があります。静的なクラス変数を使用してください。

require('configuration.php'); 

$config = new JConfig; 
echo $config->user; 

あなたにも使用することができますが、単に例を定義

define('DB_USER', 'yourusername'); 
define('DB_PASS', 'yourpassword'); 

含ん後に/それを必要とする、あなただけの操作を行います。

echo DB_USER; 

参考:http://php.net/manual/en/language.oop5.static.php


EDIT:あなたのエドの後それはあなたが何か違う何かを意味すると思う。

2つの設定ファイルが必要です。 config_default.php config.phpの

ユーザーは、あなたが最初とのconfig.phpよりconfig_default.phpを含める必要がありますあなたがconfig_default.php

であなたを持ってconfig.phpの中に自分の設定を記述します。これは変数でのみ動作します。クラスを使用する場合は、正しい構成変数でクラスを初期化するコードを記述する必要があります。

0
require('configuration.php'); 
$config = new JConfig; 
echo $config->user; 
1
class JConfig { 
    public static $dbtype = 'mysql'; 
    public static $host = 'localhost'; 
    public static $user = 'user'; 
    public static $password = 'pass'; 
    public static $db = 'db'; 
    } 

とアクセスあなたのファイルに直接ファイル

JConfig::$user // return 'user' 

Reference

0

あなたはあなたのconfiguriation.phpファイルをrequring /含めてから結果を得ることはありませんというのuが含まれているましたそれはそのままですが、あなたは正しい考えを持っています。

これらの変数の周りのJConfigクラスラッパーを削除すると、その変数をローカル変数として使用することができます。

configuration.php

<?php 
var $dbtype = 'mysql'; 
var $host = 'localhost'; 
var $user = 'user'; 
var $password = 'pass'; 
var $db = 'db'; 
?> 
関連する問題