Ви тут: Головна - PHP - PHP Основи - Поради по використанню умов в PHP.
Всім привіт! У цій статті ми розглянемо деякі поради по використанню if-else умов в PHP.
перший приклад
Давайте відразу перейдемо до першого прикладу.
class User public function fullname () if ($ this-> first_name $ This-> last_name) return $ this-> first_name. # ' # '. $ This-> last_name;
>
Тут у нас є клас User. де ми написали метод, який перевіряє, чи існують ім'я та прізвище, і, якщо так, то повертає їх. Якщо ж умова не виконується, то повертається null.
Давайте перепишемо цей код наступним чином:
class User public function fullname () if (! $ this-> first_name ||! $ this-> last_name) return null;
>
// 2-е умова
// 3-е умова
// 4-е умова
return $ this-> first_name. # ' # '. $ This-> last_name;
>
>
Тепер ми перевіряємо ім'я і прізвище на відсутність значень і повертаємо null. якщо умова виконується. Якщо ж умови не виконуються, повертаємо наше значення імені і прізвища.
Чому цей підхід краще? Уявіть, що у нас не одна перевірка, а кілька. У першому випадку, якщо перевірка проходить, ми повинні будемо перевірити повернулося значення на іншу умову, потім на третьте і так далі. У нас буде велика вкладеність, що явно погіршить читаність коду.
другий приклад
Давайте перейдемо до більш складного прикладу: розглянемо конструкцію 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; // помилка
>
Тут ми знову йдемо від зворотного: ми перевіряємо файл на відсутність і повертаємо помилку, якщо умова виконується. Потім також чинимо з розширенням. Точно так само ми писали б всі інші необхідні нам перевірки, а вже потім, якщо все пройшло успішно, то завантажуємо файл. Такий код виглядає набагато краще і зрозуміліше.
висновок
Отже, сьогодні ми розглянули два приклади і прийшли до висновку, що найкраще повертати очікуваний результат в кінці, а всі необхідні перевірки робити перед цим. Таким чином ми не будемо захаращувати код, а це сприятливо позначиться на його підтримку і розуміння.
А на цьому у мене все. Дякую за увагу!
Запропонуйте цю статтю друзям:
Якщо Вам сподобався сайт, то розмістіть посилання на нього (у себе на сайті, на форумі, в контакті):
Вона виглядає ось так:
Як завжди дуже інформативно і дуже педагогічно поданий матеріал. Дякуємо.