Существует ли магическая функция класса, которая может заставить конструктор класса принимать аргументы, такие как ассоциативный массив? - PullRequest
0 голосов
/ 01 июня 2011

У меня есть код, который выглядит примерно так:

<?
    $addr = array("city" => $city, 
        "streetname" => $streetname,
        "housenumber" => $housenumber);

    $address = new address($addr);
?>

Мне это кажется немного излишним. Могу ли я написать адрес класса, чтобы взять этот конструктор?

<?
    $address = new address("city" => $city, 
        "streetname" => $streetname,
        "housenumber" => $housenumber);
?>

(Да, я знаю, что мог бы создать массив между скобками конструктора, мне просто любопытно)

1 Ответ

1 голос
/ 01 июня 2011

Это напоминает идею под названием именованные параметры (замеченную в Python, Objective-C и C #), которую, к сожалению, PHP не поддерживает, и ее разработчики не планируют добавлять поддержку в любое время.

...