Как установить предопределенные параметры для параметра функции в PHP?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как установить предопределенные параметры для параметра функции в PHP?

Сообщение Anonymous »


Мне интересно, можно ли установить предопределенные параметры для параметра функции в 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')){ // здесь тот же код, что и в первом фрагменте кода } Если кто-то может помочь, добро пожаловать! Также есть идея, как решить эту проблему, учитывая удобство сопровождения вашего кода. Особенно, когда база кода становится большой и вам нужно изменить функции, настроенные таким образом, хотя они используются во многих местах вашей кодовой базы.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»