Можно ли перегрузить конструктор в PHP - PullRequest
2 голосов
/ 26 ноября 2011

например, в C # вы можете перегружать методы, используя одно и то же имя метода, но как насчет PHP?

 class Database {
    private $dsn;
    private $host;
    private $user;
    private $password;
    private $enckey;

    function __construct($dbname, $host, $user, $password) {
        $this->dsn = "mysql:dbname=" . $dbname . ';host=' . $host;
        $this->user = $user;
        $this->password = $password;
}
    function __construct($dbname, $host, $user, $password, $enckey) {
        $this->dsn = "mysql:dbname=" . $dbname . ';host=' . $host;
        $this->user = $user;
        $this->password = $password;
        $this->enckey = $enckey;
    }
}

1 Ответ

7 голосов
/ 26 ноября 2011

Какой смысл?

class Database {
    private $dsn;
    private $host;
    private $user;
    private $password;
    private $enckey;

    function __construct($dbname, $host, $user, $password, $enckey = null) {
        $this->dsn = "mysql:dbname=" . $dbname . ';host=' . $host;
        $this->user = $user;
        $this->password = $password;
        $this->enckey = $enckey;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...