Підходи до програмування
При створенні програм можуть використовуватися різні методології: імперативного та декларативного програмування.
Приклади декларативного програмування: документ HTML та його стиль CSS, документ XML та його подання XSLT.
Приклад імперативного програмування — процедурний підхід, де дії виконуються послідовно по кроках, виконання дій може і розгалужуватися. Зазвичай кроки програми виконуються іменованими підпрограмами - функціями і процедурами, функціями можуть бути і методи класів.
Особливий приклад програмування — об'єктно-орієнтований підхід, де дії виконуються об'єктами, що взаємодіють.
Логіка мислення при цьому підході — створити в оперативній пам'яті об'єкти, які вміють щось робити, ініціалізувати їх — і потім програма виконується взаємодією цих об'єктів.
Щоб така програма почала функціонувати — виконувати дії — такі об'єкти мають існувати — бути вже створено в оперативній пам'яті комп'ютера. Деякі об'єкти вже вбудовані в інтерпретатор PHP.
А для створення інших об'єктів виконується програма, яка читає коди об'єктів з файлів.
Зазвичай для кожного об'єкта класу свій файл.
Але веб-запит повинен виконуватися за мінімальний час— щоб сервер справлявся з потоком запитів — яких може бути сотні на секунду. Якщо наступний запит надійшов до завершення попереднього і всі ядра процесора зайняті роботою, запит стає в чергу, чим більше черга — тим пізніше відвідувач сайту отримає результат запиту — чи піде не чекаючи.
Виконання кожного веб-запиту при об'єктно-орієнтованому підході, де всі намагаються представити об'єктами — як у більшості "популярних" CMS:
- Створення в оперативній пам'яті комп'ютера безлічі об'єктів програми — незалежно: вони знадобляться чи ні.
Цей підготовчий етап може бути дуже витратною частиною процесу (часу та ресурсів), хоча перехід від механічних накопичувачів до SSD значно зменшив час читання файлів. - Власне виконання запиту.
- Очищення оперативної пам'яті.
Процедурний та об'єктно-орієнтований підходи до програмування не виключають один одного, а доповнюють.