PHP (Hypertext Preprocessor): Скриптов език за уеб и динамични сайтове
PHP — мощен скриптов език за уеб и динамични сайтове: създавайте интерактивни, защитени и гъвкави уеб приложения лесно.
PHP (PHP: Hypertext Preprocessor) е сървърно-изпълняван език за писане на скриптове, предназначен главно за създаване на динамични уеб страници и уеб приложения. PHP кодът се изпълнява на уеб сървъра и генерира HTML (или друг изход), който се изпраща към браузъра на клиента, което позволява страници с персонализирано съдържание, управление на сесии, формуляри, качване на файлове и връзка с бази данни.
Файловите страници с PHP обикновено имат разширения като .php, .php3 или .phtml, но уеб сървърът може да бъде настроен да обработва и други разширения според нуждите. Повече за стандартните разширения вижте файлови разширения на PHP.
Как работи PHP
PHP се вгражда директно в HTML чрез т.нар. PHP тагове (например <?php ... ?>). Когато уеб сървърът получи заявка за PHP страница, интерпретаторът изпълнява PHP кода на сървъра и резултатът (обикновено HTML) се изпраща към клиента. PHP може да работи като модул на уеб сървър (например mod_php за Apache) или чрез PHP-FPM, който често се използва с Nginx.
Езикови влияния и лиценз
Синтаксисът и концепциите на PHP са повлияни от много езици като C, Perl, Java, C++ и дори Python. PHP е свободен софтуер и е разпространяван под лицензи, признати от общността — вижте и становището на Фондацията за свободен софтуер относно PHP и връзката му със свободен софтуер.
Къде и как се използва
- Генериране на динамично съдържание и уеб страници.
- Управление на потребителски сесии и автентикация (включително сайтове с пароли и потребителски профили).
- Работа с бази данни (MySQL, PostgreSQL, SQLite и др.) за съхранение и извличане на данни.
- Извършване на RESTful API и обработка на JSON.
- Разработване на системи за управление на съдържание (CMS), електронни магазини и корпоративни уеб приложения.
Популярни рамки и инструменти
В екосистемата на PHP има много готови рамки и библиотеки, които ускоряват разработката и прилагат добри практики — например Laravel, Symfony, CodeIgniter, CakePHP и Yii. За управление на зависимости и пакети се използва Composer, който е стандартен инструмент при съвременните PHP проекти.
Версии и развитие
PHP се развива активно. По-новите версии (PHP 7 и PHP 8) донесоха значителни подобрения в производителността, по-добра типова система, нови синтактични възможности и оптимизации като JIT (в PHP 8). Препоръчва се използване на поддържани и актуални версии за по-добра сигурност и производителност.
Сигурност и добри практики
- Винаги валидирайте и почиствате входящите данни (вход от формуляри, параметри в URL и т.н.).
- Използвайте подготвени изявления (prepared statements) или ORM, за да предотвратите SQL инжекции.
- Не показвайте грешки и трасета на потребителите в продукционна среда (изключете display_errors и логвайте грешките безопасно).
- Използвайте HTTPS за криптиране на комуникацията и актуализирайте зависимостите редовно.
Разгръщане и инфраструктура
Често срещани стекове за разгръщане са LAMP (Linux, Apache, MySQL, PHP) и LEMP (Linux, Nginx, MySQL/MariaDB, PHP-FPM). PHP приложенията могат да бъдат опаковани и разположени в контейнери (Docker) или в облачни среди, а за автоматизация на зависимостите и билдовете се използват CI/CD инструменти.
Кратка история
PHP е създаден в средата на 90-те години от Rasmus Lerdorf и първоначално е известен като "Personal Home Page Tools". С времето се развива в пълноценно средство за разработка на уеб приложения и официалното име е рекурсивен акроним: PHP: Hypertext Preprocessor.
PHP остава един от най-популярните езици за уеб разработка благодарение на лесния старт, голямата общност, богатата екосистема от библиотеки и широко разпространените платформи и хостинг услуги.
История
PHP е създаден за първи път от Расмус Лердорф през 1995 г. Сега той се разработва и усъвършенства от голям екип от хора. Първоначално името му означава Personal Home Page, но по-късно е променено на PHP: В новото име е използвана старата абревиатура.
Пример
Примерна програма Hello World:
Обикновено PHP кодът се поставя в HTML документ, например:
обискирам