Как установить предопределенные параметры для параметра функции в PHP? ⇐ Php
-
Anonymous
Как установить предопределенные параметры для параметра функции в PHP?
Мне интересно, можно ли установить предопределенные параметры для параметра функции в PHP8. Мне удалось найти только настройку параметра по умолчанию, но это не то, что я ищу. У меня есть один простой пример использования:
function runQuery($query, $values = NULL, $returnValue = NULL){ if ($returnValue == 'numRows'){ //запрос будет выполнен здесь и вернет количество выбранных строк } elseif ($returnValue == 'getAffectedRows'){ //запрос будет выполнен здесь и вернет количество затронутых строк (например, чтобы проверить успешность создания, обновления или удаления) } elseif ($returnValue == 'getLastInsertID'){ // запрос выполнится и вернет идентификатор вставленной строки } еще { // запрос будет выполнен без каких-либо результатов } } Теперь при написании кода легко можно допустить ошибку при вводе строки в качестве возвращаемого значения. Например, если не используется заглавная буква или просто опечатка. Кроме того, IDE не распознает возможные варианты. Это также может привести к множеству ошибок при рефакторинге.
У меня есть идея вызвать опцию returnValue, как показано ниже, но я не знаю, как ее реализовать. Или если это вообще возможно. (Большинство IDE смогут найти здесь такие возможности, как вызов любого экземпляра класса с помощью функции или переменной экземпляра)
runQuery('SELECT * FROM table WHERE ID = ?', 5, $this->returnValue()->numRows()); Еще одна идея, которая у меня возникла, приведена ниже, но я не нашел никакой информации, возможно ли что-то подобное.
function runQuery($query, $values=NULL, $returnValue = ('numRows' || 'getAffectedRows' || 'getLastInsertID' || 'none')){ // здесь тот же код, что и в первом фрагменте кода } Если кто-то может помочь, добро пожаловать! Также есть идея, как решить эту проблему, учитывая удобство сопровождения вашего кода. Особенно, когда база кода становится большой и вам нужно изменить функции, настроенные таким образом, хотя они используются во многих местах вашей кодовой базы.
Мне интересно, можно ли установить предопределенные параметры для параметра функции в PHP8. Мне удалось найти только настройку параметра по умолчанию, но это не то, что я ищу. У меня есть один простой пример использования:
function runQuery($query, $values = NULL, $returnValue = NULL){ if ($returnValue == 'numRows'){ //запрос будет выполнен здесь и вернет количество выбранных строк } elseif ($returnValue == 'getAffectedRows'){ //запрос будет выполнен здесь и вернет количество затронутых строк (например, чтобы проверить успешность создания, обновления или удаления) } elseif ($returnValue == 'getLastInsertID'){ // запрос выполнится и вернет идентификатор вставленной строки } еще { // запрос будет выполнен без каких-либо результатов } } Теперь при написании кода легко можно допустить ошибку при вводе строки в качестве возвращаемого значения. Например, если не используется заглавная буква или просто опечатка. Кроме того, IDE не распознает возможные варианты. Это также может привести к множеству ошибок при рефакторинге.
У меня есть идея вызвать опцию returnValue, как показано ниже, но я не знаю, как ее реализовать. Или если это вообще возможно. (Большинство IDE смогут найти здесь такие возможности, как вызов любого экземпляра класса с помощью функции или переменной экземпляра)
runQuery('SELECT * FROM table WHERE ID = ?', 5, $this->returnValue()->numRows()); Еще одна идея, которая у меня возникла, приведена ниже, но я не нашел никакой информации, возможно ли что-то подобное.
function runQuery($query, $values=NULL, $returnValue = ('numRows' || 'getAffectedRows' || 'getLastInsertID' || 'none')){ // здесь тот же код, что и в первом фрагменте кода } Если кто-то может помочь, добро пожаловать! Также есть идея, как решить эту проблему, учитывая удобство сопровождения вашего кода. Особенно, когда база кода становится большой и вам нужно изменить функции, настроенные таким образом, хотя они используются во многих местах вашей кодовой базы.
Мобильная версия