PHP: Как Передать дочерний класс __ конструкция () аргументы родителю:: __ конструкция ()?

Мое собственное обходное решение использует некоторую информацию в ViewData для знания то, какую область нужно показать в backnavigation и небольшом JavaScript для расположения курсора страницы:

В Представлении, элементе как это:

<h3 id="tasks">
    Contained tasks
</h3>

И JavaScript к repositionate страница:

<script type="text/javascript">
    addOnLoad(goAnchor);

    function goAnchor() {
        var paging = <%= //Here you determine (from the ViewData or whatever) if you have to position the element %>;
        if (paging == "True") {
            window.location.hash = "tasks";
        }
</script>

Вы могли использовать switch для определения, какой элемент от страницы представления необходимо переместить.

Hope это помогает.

36
задан none 21 October 2009 в 20:38
поделиться

3 ответа

В php есть что-то подобное, хотя и немного подробное:

$args = func_get_args();
call_user_func_array(array($this, 'parent::__construct'), $args);
32
ответ дан 27 November 2019 в 05:35
поделиться

Да, очень плохая практика - создавать дочерний класс, который использует аргументы конструктора, отличные от родительских. Особенно на таком языке, как PHP, где он плохо поддерживается.

Конечно, общий способ передать набор «любых аргументов, которые нам могут понадобиться» в PHP - это передать один аргумент, состоящий из массива значений конфигурации.

0
ответ дан 27 November 2019 в 05:35
поделиться

Ознакомьтесь с этими функциями на php.net :[1273 visibleAlso, если вы хотите сделать необязательный аргумент, вы можете сделать это:

class ParentClass {
    function __construct($arg, $arg2="Default Value") {
        // Initialize a/some variable(s) based on $arg
    }
}
1
ответ дан 27 November 2019 в 05:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: