У меня есть сомнение, что, может быть, кто-то может ответить здесь. Мой код отлично работает, но я уверен, что я делаю это как-то неправильно. Должен быть более простой и понятный способ добиться этого.Как вызвать функцию с аргументами в функции с аргументами
Пусть этот класс:
class myClass {
public static function myFunctionOne ($arg_one, $arg_two, $arg_tree) {
echo $arg_one;
myClass::$arg_two($arg_tree);
}
public static function myFunctionTwo ($arg_four) {
echo $arg_four;
}
}
Затем вы вызываете выше класса где-то (мой случай а HTML меню встроенный в PHP файл), как показано ниже:
myClass::myFunctionOne('echo a string', 'myFunctionTwo', 'echo forth value');
Это прекрасно работает, и это выходы:
echo a string echo forth value
Но это законно?
Это выглядит отрывочно для меня. Могу ли я использовать такие функции, чтобы вызвать функцию с помощью Argumetns в функции с аргументами?
Да, это законно. Подобно этому вы можете динамически вызывать функции, зависящие от пользовательского ввода. Вы также можете проверить http://php.net/manual/de/function.call-user-func.php. Другой вопрос: вам действительно нужны динамические вызовы функций? В основном ** не **. – Xatenev
ну, я почти уверен, я мог бы сделать это по-другому, но вышеприведенный случай - всего лишь обобщенный фрагмент того, что я делаю. В настоящее время я пытаюсь изучить ООП (и да, выше всего ООП я предполагаю: P). Вышеупомянутая часть - это лишь небольшая часть более крупного бутстрап-аккордеона, где я хочу создать вкладки id и href, но ALSO вызвать тело и название меню с одной и той же функцией в одном, просто изменив аргументы. Наверное, есть лучшие способы, но каждый учится на пути :) Большое вам спасибо за подтверждение того, что это законный способ, а не случай «это работает случайно» :) – smileBeda
Это работает. – peter