Де застосовують PHP
PHP з’явився як інструмент для веб-сторінок і досі залишається однією з найпоширеніших мов на серверах сайтів. Найчастіше на ньому роблять:
- корпоративні сайти й сайти послуг з адмін-панеллю для редагування контенту;
- інтернет-магазини на готових платформах або власні, з нестандартним каталогом і цінами;
- особисті кабінети клієнтів, дилерів чи партнерів з документами, замовленнями й історією;
- внутрішні системи: облік заявок, розрахунки, звіти для керівника;
- серверну частину для мобільних додатків і сервіси обміну даними між програмами.
Тобто PHP — це мова для «звичайного» вебу: сторінки, форми, бази даних, інтеграції. Для такої роботи він зручний і перевірений часом.
Чому бізнес обирає PHP
- Дешевий і простий хостинг. PHP-сайт запускається майже на будь-якому хостингу, не потрібен окремий складний сервер.
- Легко знайти розробників. Якщо колись захочете змінити підрядника чи найняти свого програміста, з PHP це простіше, ніж з більш рідкісними мовами.
- Готові рішення для типових задач. Оплата, пошта, PDF, робота з Excel, авторизація — для всього цього є перевірені бібліотеки, не треба писати з нуля.
- Мова розвивається. Сучасний PHP значно швидший і суворіший до помилок, ніж версії десятирічної давнини, а нові версії виходять регулярно.
Слабкі місця PHP
У PHP погана репутація, і частково вона заслужена. Але проблема зазвичай не в мові, а в тому, як написаний код:
- Низький поріг входу. На PHP легко написати щось робоче без досвіду, тому в мережі багато сайтів з хаотичним кодом, який страшно чіпати.
- Старі версії небезпечні. Версії, які вже не отримують оновлень безпеки, досі працюють на багатьох серверах. Оновлення часто ламає старий код.
- Не для всіх задач. Тривалі обчислення, обробка великих масивів даних, постійні з’єднання з тисячами користувачів (чати, онлайн-ігри) — не найсильніша сторона PHP.
Усе це вирішується дисципліною: фреймворк, перегляд коду, тести, регулярні оновлення. Саме на це ми дивимося першим, коли оцінюємо чужий проєкт.
Коли краще обрати не PHP
Ми не тягнемо PHP туди, де йому не місце. Інша мова буде доречнішою, якщо:
- в основі продукту аналітика, машинне навчання чи обробка даних — тут сильніший Python з його бібліотеками;
- потрібен застосунок у реальному часі, наприклад чат, спільне редагування чи живі оновлення, і команда хоче одну мову на сервері та в браузері — тоді варто розглянути Node.js;
- сайт — це блог або кілька сторінок про компанію, які редагує маркетолог: власна розробка тут зайва, вистачить WordPress (він теж на PHP, але писати код майже не доведеться).
Чистий PHP, фреймворк чи CMS
«Сайт на PHP» може означати три зовсім різні речі, і від цього залежить, наскільки легко буде його розвивати.
Чистий PHP без фреймворку — це код, де вся структура придумана конкретним розробником. Для маленького скрипта нормально, для системи, яка житиме роками, — ризиковано: новій людині важко розібратися.
Фреймворк (Laravel, Symfony) дає готовий каркас: як працювати з базою, перевіряти права доступу, надсилати листи. Код стає передбачуваним, а будь-який розробник, що знає фреймворк, швидко в ньому зорієнтується. Для нових проєктів з власною логікою ми радимо саме цей варіант.
CMS (WordPress, OpenCart, Drupal) — це вже готовий сайт чи магазин, який доопрацьовують модулями. Найшвидший шлях, якщо задача типова.
Новий проєкт чи код, який дістався у спадок
Часто задача стосується не нового сайту, а наявного: попередній розробник пішов, документації немає, а сайт треба розвивати. Ми не пропонуємо одразу все переписати. Спершу оцінюємо, що можна залишити, що варто поступово замінити, а що справді небезпечно.
Часто достатньо оновити версію PHP, прибрати мертвий код, винести налаштування з коду в конфігурацію і покрити тестами найважливіші сценарії. Якщо система велика й застаріла, переходимо на нову основу частинами — докладніше про такий підхід на сторінці модернізації застарілих систем.
Бази даних, інтеграції та підтримка
PHP-проєкти найчастіше працюють з MySQL, MariaDB або PostgreSQL. Повільний сайт на PHP у більшості випадків гальмує не через мову, а через зайві запити до бази чи відсутність індексів, тому з бази ми і починаємо пошук проблем.
Типові інтеграції, які ми робимо: обмін з 1С або BAS, CRM, платіжні сервіси, Нова пошта, розсилки, імпорт прайсів постачальників. Після запуску можемо залишитися на підтримці: оновлювати PHP і бібліотеки, стежити за помилками, додавати функції.
Що впливає на вартість робіт
- Тип задачі: новий проєкт, доопрацювання чи розбір чужого коду. Останнє складно оцінити наперед, тому починаємо з аудиту.
- Обсяг логіки: скільки ролей користувачів, документів, розрахунків і статусів має система.
- Стан коду: версія PHP, наявність фреймворку, тестів і документації.
- Інтеграції: кількість зовнішніх систем і якість їхнього API.
- Вимоги до навантаження й безпеки: кількість користувачів, чутливість даних, резервне копіювання.
Після аудиту чи обговорення задачі показуємо оцінку по етапах, щоб ви бачили, за що платите.
Часті запитання
PHP — це не застаріла технологія? Ні. Мова регулярно оновлюється, на ній працюють великі сервіси та популярні CMS. Застарілим буває конкретний код, а не PHP як такий.
Чи візьметеся за сайт, який писала інша команда? Так. Спершу дивимося код і сервер, потім чесно кажемо, які частини надійні, а які доведеться переписати.
Навіщо оновлювати версію PHP, якщо все працює? Старі версії не отримують виправлень безпеки, а нові бібліотеки й модулі на них не встановлюються. Чим довше відкладати, тим дорожче обійдеться перехід.
Що краще для нового проєкту: Laravel чи Symfony? Обидва надійні. Laravel зазвичай швидший у старті, Symfony частіше обирають для великих систем з довгою історією. Порадимо після розмови про задачу.
Чи варто переписати старий PHP-сайт на іншій мові? Рідко. Переписування з нуля — це довго і дорого, а бізнес-логіку легко загубити дорогою. Зазвичай вигідніше навести лад у наявному коді й замінювати проблемні частини поступово.
Чому Promodex
З 2015 року ми зробили 750+ проєктів, і PHP — одна з основних мов, з якими ми працюємо. Серед проєктів у портфоліо — AGER, Avanta Medical Center, Booking Health та JustVPS. Код пишуть штатні розробники Promodex у Києві, поруч працюють дизайнери, маркетологи та SEO-фахівці, тож сайт можна не лише зробити, а й просувати. Ви бачите, що і навіщо змінюється в проєкті, а після запуску ми не зникаємо: оновлюємо, виправляємо, розвиваємо.