Перегрузка методов PHP

350
27 января 2017, 08:56

Создать класс с несколькими конструкторами, вызывать конструкторы в зависимости от переданных параметров

<?php
class BaseClass {
    private $data = array();
    function __construct($color) {
    }
    function __construct($color, $name) {
    }
    function __destruct() {
        //$obj = new BaseClass();
    }
}
$obj2 = new BaseClass("dfdfg", "dsdsdssdsddssd");
?>

сделать так что бы вызывался тот конструктор, в зависимости от того какие параметры я задаю ( $obj2 = new BaseClass("dfdfg", "dsdsdssdsddssd"); )

Answer 1

Можно и так сделать

<?php
class BaseClass {
    private $data = array();
    function __construct($color, $name = null) {
        if (null === $name) {
            $this->construct1($color);
        } else {
            $this->construct2($color, $name);
        }
    }

    private function construct1($color) {
    }
    private function construct2($color, $name) {
    }
    function __destruct() {
        //$obj = new BaseClass();
    }
}
$obj2 = new BaseClass("dfdfg", "dsdsdssdsddssd");
?>
READ ALSO
Вставка в плеер ссылку из БД?

Вставка в плеер ссылку из БД?

Как можно в плеер на странице, например FlowPlayer, вставить ссылку из БД, сайт на php?

348
mail() отправляет пустое письмо

mail() отправляет пустое письмо

Есть код отправки почты с возможностью прикрепления файла Все прекрасно работало на поддомене, когда перенес на основной, код перестал работатьТо...

696
Сумма значений в столбце таблицы mysql по заданному условию

Сумма значений в столбце таблицы mysql по заданному условию

ЗдравствуйтеЕсть таблица результатов тестирования, каждая строчка содержит информацию, сколько тот или иной юзер набрал в том или ином тесте

657
Удалить часть строки

Удалить часть строки

Наверное глупый вопрос, но не знаю как это сделатьИмеем строку типа:

323