|
|
|
| Здравствуйте. Думаю вопрос простой, но самостоятельно ответ найти не удалось.
К примеру есть класс:
class db {
var $db_login="root";
var $db_password="root";
var $db_host="localhost";
var $db_connection;
function db_connect($host,$login,$password) {
$this->db_connection=mysql_connect($host,$login,$password);
}
}
|
Как сделать следующее: при вызове метода db_connect, если не переданы параметры $host, $login, $password, то устанавливаются параметры по умолчанию: $db_login, $db_password, $db_host.
Код, вида:
function db_connect($host=$this->db_host,$login=$this->db_login,$password=$this->db_password) {
$this->db_connection=mysql_connect($host,$login,$password);
|
...в не работает.
Самому, как новичку, приходит в голову только проверка каждого параметра через isset(). Но, мне кажется, должно быть более простое решение. Подскажите. | |
|
|
|
|
|
|
|
для: bobroff
(20.03.2009 в 22:24)
| | Можно так
<?php
class DB {
private $host = 'localhost';
private $user = 'root';
private $pass = '';
private $link = NULL;
public function __construct($user = '', $pass = '', $host = '') {
if (!empty($user)) $this->user = $user;
if (!empty($pass)) $this->pass = $pass;
if (!empty($host)) $this->host = $host;
}
public function connect() {
$this->link = mysql_connect($this->host,$this->user,$this->pass);
}
}
?>
|
и так
<?php
class DB {
private $host;
private $user;
private $pass;
private $link = NULL;
public function __construct($user = 'root', $pass = '', $host = 'localhost') {
$this->user = $user;
$this->pass = $pass;
$this->host = $host;
}
public function connect() {
$this->link = mysql_connect($this->host,$this->user,$this->pass);
}
}
?>
|
| |
|
|
|