Поради щодо використання умов в php.

Поради щодо використання умов в PHP.

Всім привіт! У цій статті ми розглянемо деякі поради по використанню if-else умов в PHP.

Думаю, ніхто не буде сперечатися з тим, що умови використовуються при розробці дуже часто. Здавалося б, все просто. Але найчастіше через цю простоту розробники захаращують свій код і його стає важко читати. Сьогодні ми розглянемо деякі поради, які допоможуть вам писати код правильно і чисто.

Відео: Умови IF ELSE практика, частина 1 PHP Урок 7

перший приклад

Давайте відразу перейдемо до першого прикладу.

classUser{
publicfunction fullname(){
if($ this-gt;first_name $ this-gt;last_name){
return $ this-gt;first_name.``.$ this-gt;last_name-
}

returnnull-
}
}

Тут у нас є клас User, де ми написали метод, який перевіряє, чи існують ім`я та прізвище, і, якщо так, то повертає їх. Якщо ж умова не виконується, то повертається null.

Давайте перепишемо цей код наступним чином:

classUser{
publicfunction fullname(){
if(!$ this-gt;first_name ||!$ this-gt;last_name){
returnnull-
}

// 2-е умова
// 3-е умова
// 4-е умова

return $ this-gt;first_name.``.$ this-gt;last_name-
}
}



Тепер ми перевіряємо ім`я і прізвище на відсутність значень і повертаємо null, якщо умова виконується. Якщо ж умови не виконуються, повертаємо наше значення імені і прізвища.

Чому цей підхід краще? Уявіть, що у нас не одна перевірка, а кілька. У першому випадку, якщо перевірка проходить, ми повинні будемо перевірити повернулося значення на іншу умову, потім на третьте і так далі. У нас буде велика вкладеність, що явно погіршить читаність коду.

У другому ж випадку ми повертаємо очікуваний результат в кінці, а перед цим проводимо всі необхідні перевірки і повертаємо null, порожній рядок, виняток або що нам буде потрібно. Такий код виглядає набагато краще, його зручніше читати і виправляти.

другий приклад




Давайте перейдемо до більш складного прикладу: розглянемо конструкцію if-else.

Відео: [PHP] Оператор if-else (Урок 5.1)

if(){
if(){
if(){

}
}
}else{

}

Думаю, ви зустрічали таку конструкцію. Це звичайнісіньке рішення, яке використовує більшість розробників, однак такий код досить важко читати і виправляти. Щоб ви зрозуміли, чому, а також наочно побачили, як можна написати краще, давайте розглянемо приклад, де нам потрібно завантажити файли на сервер.

if(isset($ _POST[`File`])){
if(in_array($ file_extension, $ allowed_file_extensions)){
// завантажуємо файл
}else{
return-// помилка
}
}else{
return-// помилка
}

Тут ми перевіряємо файл на існування, потім перевіряємо, чи існує розширення файлу в масиві допустимих значень, і завантажуємо його. Якщо будь-яка перевірка не пройшла, то повертаємо помилку.

Це всього лише простий приклад, в реальному проекті цих перевірок буде дуже багато, відповідно, ви можете уявити, що творитиметься в коді. Редагувати код, де купа вкладень і відгалужень дуже навіть важко. Як же його можна поліпшити? Давайте подивимося:

if(!isset($ _POST[`File`])){
return-// помилка
}

if(!in_array($ file_extension, $ allowed_file_extensions)){
return-// помилка
}

// завантажуємо файл

Тут ми знову йдемо від зворотного: ми перевіряємо файл на відсутність і повертаємо помилку, якщо умова виконується. Потім також чинимо з розширенням. Точно так само ми писали б всі інші необхідні нам перевірки, а вже потім, якщо все пройшло успішно, то завантажуємо файл. Такий код виглядає набагато краще і зрозуміліше.

висновок

Отже, сьогодні ми розглянули два приклади і прийшли до висновку, що найкраще повертати очікуваний результат в кінці, а всі необхідні перевірки робити перед цим. Таким чином ми не будемо захаращувати код, а це сприятливо позначиться на його підтримку і розуміння.

А на цьому у мене все. Дякую за увагу!

Поділися в соціальних мережах:

Схожі
Робота з масивами в phpРобота з масивами в php
Цикли в jаvascriptЦикли в jаvascript
Підсумовування осередків в excel за умовою.Підсумовування осередків в excel за умовою.
Умовний оператор в phpУмовний оператор в php
Як складати формули в excel для початківців.Як складати формули в excel для початківців.
Використання функції якщо без функції якщоВикористання функції якщо без функції якщо
Умовний оператор в jаvascriptУмовний оператор в jаvascript
Шаблон проектування "стратегія" (pattern strategy).Шаблон проектування "стратегія" (pattern strategy).
Reflection api. Reflectionclass.Reflection api. Reflectionclass.
Клас для роботи з базою данихКлас для роботи з базою даних
» » Поради щодо використання умов в php.