Вот mysqli_connect (), как определено в руководстве по PHP:
mysqli_connect([ string $host = ini_get("mysqli.default_host")
[, string $username = ini_get("mysqli.default_user")
[, string $passwd = ini_get("mysqli.default_pw")
[, string $dbname = ""
[, int $port = ini_get("mysqli.default_port")
[, string $socket = ini_get("mysqli.default_socket") ]]]]]] )
Должен ли я просто сделать это для всех аргументов?:
class MyClass {
private $conn;
public function __construct($host = '') {
if($host == '') {
$host = ini_get('mysqli.default_host');
}
$this->conn = mysqli_connect($host);
}
}
Если я сделаю это для всехаргументы метода это правильно обернуть mysqli_connect ()?Есть ли более элегантный способ сделать это?
РЕДАКТИРОВАТЬ :
После того, как вы увидели ответ Франциоса и немного подумали об этом, кажется, что это лучший способ сделать это.:
class MyClass {
private $conn;
public function __construct($host = '',
$username = '',
$passwd = '',
$dbname = '',
$port = 0,
$socket = '') {
$this->conn = call_user_func_array('mysqli_connect', func_get_args());
}
}
Будет ли это правильно?Единственное, что меня беспокоит, это $ port, потому что это не строка.