Що значить на вищому рівні?
постараюсь пояснити що значить оптимізація на вищому рівні. Коли зростає навантаження і ви бачите що у вас є проблеми зі швидкістю що ви робите? Ідете і заміняєте всі !empty на !==null чи strlen() на $foo{4} ?
Особисто я запускаю профайлер дивлюсь які методи найдовше виконуються (або яких викликів функцій дуже багато) і відносно того уже вношу зміни в логіку роботи додатку. Як на мене саме це є вищим рівнем оптимізації аніж дивитись що швидше require чи include
Використовуйте NULL замість 0, is_null(), empty()
NULL і empty це як на мене різні речі. Не можна взяти і всі empty замінити на === NULL я надіюсь ви це розумієте?
Наскільки зрозумів If, else, elseif швидше ніж switch я не знаю хто вам таке сказав але все варто перевіряти. І не на одній машині і не в одному середовищі. + тест це не просто прогнати 5 раз тестовий скрипт і видати результати.
Це економія на сірниках доти,доки не піде велике навантаження,а тести показують,що чим воно більше,тим і більший відрив між оптимізованим та неоптимізованим варіантами.
Давайте прикинемо наступний результат. Ви пишете код який супер пупер оптимізований. Скоріш за все у вас все рівно будуть проблеми з продуктивністю. Недостатньо писати if і не використовувати switch для того що б у вас не було проблем. Вірно?
Отже ідемо далі. У вас є код написаний за вашою логікою і стилем. Проект розростається навантаження зростає, треба брати нових програмістів. Ви взяли нового чувака і він вам каже: а чого ви не юзаєте switch ви вбиваєте 15 хв для того що б пояснити що і в чому справа.
Дальше чувак кодить по своїх правилах: для прикладу використовує count тут у вас починаються дебати і ще + 15 хв на пояснення і + 10 хв що б виправити попередні правки користувача.
Дальше час іде на написання коду вашим програмістом. Так як він же має перевчатись. Ви продовжуєте калькулювати час який витрачається. А якщо врахувати що оперативка коштує 100 баксів а час який ви потратили на спілкування тільки з одним програмістом * на його годинну ставку ось тут і буде ваш реальний виграш
До речі ще одна штука. Це дуже класно що ви заділи таку тему. Дійсно варто старатись писати дійсно хороший код.
Але.
Програмісти як на мене шукають золоту середину між читабельністю, часом на підтримку, часом над запровадженням нового функціоналу, часом над введенням нових працівників у курс справи і швидкістю роботи.
І памятайте те що include швидшкий за require це одне. Але це не означає що це одне і те саме. Це різні фішки в php. Так само як і if & switch
До речі. Рекомендую прочитати книжку Стив Макконнелл "Совершенный код" ви побачите чому інколи варто використовувати switch змість if
+ погляньте на код сучасних фреймворків.