PHP: определять константы вне класса или в конструкторе?

Я новичок в классах и т.д. Я искал базовый класс MySQL для начала и нашел "A Простой класс MySQL »Мэтью Сарагуса.

Это первые строки:

define('SIMPLE_DB_SERVER', 'mysqlserver.net');
define('SIMPLE_DB_NAME', 'mydbname');
define('SIMPLE_DB_USERNAME', 'myusername');
define('SIMPLE_DB_PASSWORD', 'mypassword');
class ASimpleMySQLDB {
    public function __construct($server, $database, $username, $password){

        $this->conn = mysql_connect($server, $username, $password);
        $this->db = mysql_select_db($database,$this->conn);
    }
[...]

Интересно, есть ли конкретная причина, по которой константы определяются вне класса, а не с использованием конструктора - пример:

public function __construct(){
    $this->conn = mysql_connect('localhost', 'username', 'password');
    $this->db = mysql_select_db('database',$this->conn);
}

Или:

public function __construct($which_db){
        if($which_db=='firstdb'){
            $server='localhost';
            $username='user1';
            $password='pass1';
            $database='db1';
        }elseif($which_db=='otherdb'){
            $server='localhost';
            $username='user2';
            $password='pass2';
            $database='db2';
        }

    $this->conn = mysql_connect($server, $username, $password);
    $this->db = mysql_select_db($database,$this->conn);

}

Или с помощью переключателя, или чего-то еще.

В чем разница между двумя методами? Какой вы порекомендуете? Большое спасибо: -)

5
задан Giona 11 November 2011 в 17:52
поделиться