PHP: различия между версиями
AE (обсуждение | вклад) (Новая структура) |
AE (обсуждение | вклад) (→Объясните простыми словами, пожалуйста: правки) |
||
Строка 2: | Строка 2: | ||
'''PHP''' — язык программирования для создания [[Веб-приложение|веб-приложений]]. Обрел популярность благодаря простоте и гибкости. Распространяется по лицензии с [[Open source|открытым исходным кодом]]. Идеально решает задачи создания интернет магазинов, новостных сайтов, справочников, простых социальных сетей. | '''PHP''' — язык программирования для создания [[Веб-приложение|веб-приложений]]. Обрел популярность благодаря простоте и гибкости. Распространяется по лицензии с [[Open source|открытым исходным кодом]]. Идеально решает задачи создания интернет магазинов, новостных сайтов, справочников, простых социальных сетей. | ||
== Объясните простыми словами, пожалуйста == | == Объясните простыми словами, пожалуйста! == | ||
PHP — это автомат Калашникова в мире информационных технологий. Давайте для простоты понимания временно назовем его «PHP-47». | '''PHP''' — это автомат Калашникова в мире информационных технологий. Давайте для простоты понимания временно назовем его «PHP-47». | ||
🤓«PHP-47» был создан инженером самоучкой, подсмотревшим идеи у других языков программирования, улучшив и упростив их. В настоящий момент является самым популярным инструментом в мире, правда в своей узкой категории — язык для стрелковых или веб-приложений. Прост и надежен как топор, стреляет там, где другие языки программирования глохнут и дают осечку (ошибку неверный тип патронов-данных). Стреляет в любой среде: в воздухе, в грязи, в пыли, в Linux, Windows, macOS. | |||
Овладев «PHP-47» программист получает власть (или думает что её получил) и начинает применять её не к месту. Да «PHP-47» может помочь | Овладев «PHP-47» программист получает власть (ну или думает, что её получил) и иногда начинает применять её не к месту. Да «PHP-47» в теории может помочь вам пристроить ребенка в детский сад, получить повышение на работе или написать программу для настольного компьютера. Но свидетели такого поведения покрутят пальцем у виска 👎 | ||
Настоящее предназначение «PHP-47» — это стрельба веб-патронами. PHP-патроны — это специальные компьютерные файлы с расширением .php. По запросу веб-стрелка (то есть веб-сервера), автомат-интерпретатор превращает PHP-патроны в HTML-пули. Эти пули летят со скоростью интернета в цели — в браузеры пользователям. | Настоящее предназначение «PHP-47» — это стрельба веб-патронами. PHP-патроны — это специальные компьютерные файлы с расширением .php. По запросу веб-стрелка (то есть веб-сервера), автомат-интерпретатор превращает PHP-патроны в HTML-пули. Эти пули летят со скоростью интернета в цели — в браузеры пользователям. | ||
Звучит опасно, почему же «PHP-47», как оружие еще не запрещен? Дело в том, что в отличии от реального стрелкового оружия, которое стреляет по воле стрелка-программиста туда, куда он хочет — веб-приложения на «PHP-47» стреляют в пользователя только по его запросу | 😱 Звучит опасно, почему же «PHP-47», как оружие еще не запрещен? Дело в том, что в отличии от реального стрелкового оружия, которое стреляет по воле стрелка-программиста и туда, куда он хочет — веб-приложения на «PHP-47» стреляют в пользователя только по его же запросу | ||
«PHP-47» — это язык программирования с подмоченной репутацией, оружия террористо-плохо-кодеров. Проблема тут не в самом «PHP-47», это прекрасный и надежный инструмент в умелых руках. Но благодаря своей простоте и доступности, он получил широкое распространение в мире и попал в руки новичков-радикалов. Как результат, большинство некачественных веб-приложений в мире написаны именно на «PHP-47». | «PHP-47» — это язык программирования с подмоченной репутацией, оружия террористо-плохо-кодеров. Проблема тут не в самом «PHP-47», это прекрасный и надежный инструмент в умелых руках. Но благодаря своей простоте и доступности, он получил широкое распространение в мире и попал в руки новичков-радикалов. Как результат, большинство некачественных веб-приложений в мире написаны именно на «PHP-47». Ну и все порносайты, конечно же 😅 | ||
«PHP-47» — это всё еще популярная и активно производящаяся, но уже устаревающая технология. Долгорочно он | «PHP-47» — это всё еще популярная и активно производящаяся, но уже устаревающая технология. Долгорочно он проиграет в войне более технологичным и современным инструментам. Но списывать его пока рано 💪 | ||
== А если серьезно == | == А если серьезно == |
Версия от 12:24, 30 октября 2022
PHP — язык программирования для создания веб-приложений. Обрел популярность благодаря простоте и гибкости. Распространяется по лицензии с открытым исходным кодом. Идеально решает задачи создания интернет магазинов, новостных сайтов, справочников, простых социальных сетей.
Объясните простыми словами, пожалуйста!
PHP — это автомат Калашникова в мире информационных технологий. Давайте для простоты понимания временно назовем его «PHP-47».
🤓«PHP-47» был создан инженером самоучкой, подсмотревшим идеи у других языков программирования, улучшив и упростив их. В настоящий момент является самым популярным инструментом в мире, правда в своей узкой категории — язык для стрелковых или веб-приложений. Прост и надежен как топор, стреляет там, где другие языки программирования глохнут и дают осечку (ошибку неверный тип патронов-данных). Стреляет в любой среде: в воздухе, в грязи, в пыли, в Linux, Windows, macOS.
Овладев «PHP-47» программист получает власть (ну или думает, что её получил) и иногда начинает применять её не к месту. Да «PHP-47» в теории может помочь вам пристроить ребенка в детский сад, получить повышение на работе или написать программу для настольного компьютера. Но свидетели такого поведения покрутят пальцем у виска 👎
Настоящее предназначение «PHP-47» — это стрельба веб-патронами. PHP-патроны — это специальные компьютерные файлы с расширением .php. По запросу веб-стрелка (то есть веб-сервера), автомат-интерпретатор превращает PHP-патроны в HTML-пули. Эти пули летят со скоростью интернета в цели — в браузеры пользователям.
😱 Звучит опасно, почему же «PHP-47», как оружие еще не запрещен? Дело в том, что в отличии от реального стрелкового оружия, которое стреляет по воле стрелка-программиста и туда, куда он хочет — веб-приложения на «PHP-47» стреляют в пользователя только по его же запросу
«PHP-47» — это язык программирования с подмоченной репутацией, оружия террористо-плохо-кодеров. Проблема тут не в самом «PHP-47», это прекрасный и надежный инструмент в умелых руках. Но благодаря своей простоте и доступности, он получил широкое распространение в мире и попал в руки новичков-радикалов. Как результат, большинство некачественных веб-приложений в мире написаны именно на «PHP-47». Ну и все порносайты, конечно же 😅
«PHP-47» — это всё еще популярная и активно производящаяся, но уже устаревающая технология. Долгорочно он проиграет в войне более технологичным и современным инструментам. Но списывать его пока рано 💪
А если серьезно
Главные достоинства
Что мы имеем на данный момент:
- Около 75% сайтов в мире работают на PHP.
- Язык качественно документирован, имеется большое количество платных и бесплатных обучающих материалов.
- Вокруг технологии сформировалось дружное активное сообщество. Регулярно выходят новые версии и обновления, новички получают поддержку, проводится много встреч и конференций.
- Это один из самых простых языков программирования. Отлично подходит для обучения как первый язык, легко пишется и читается, не требует сложной настройки.
- Отличный выбор для стартапов. Вы можете быстро разработать прототип, чтобы проверить концепцию и вашу идею на практике. Если ваш проект не станет популярным, вы не потеряете много денег на разработке.
- PHP поддерживается всеми хостинг провайдерами. Это означает возможность быстрого разворота вашего приложения в любом дата-центре.
- Для языка написано множество полезных инструментов, библиотек, в открытом доступе есть много наработок и готовых движков под вашу задачу.
- Программы на PHP простые в обслуживании: быстро разворачиваются, по ним легко провести отладку, нет проблем с утечками памяти
История успеха
В 90-е годы большинство веб-сайтов в интернете являлось набором статичных HTML файлов, хранящихся на сервере. В 1994 году датский программист Расмус Лердорф предложил простой и удобный способ доработки таких сайтов. Он добавил в HTML файлы специальный программный код для генерации динамической информации. Данный код выполнялся на лету специальной программой — интерпретатором PHP.
Изначально такой подход мог решать только простые задачи и технология назывался Personal Home Page Tools (инструменты для персональной веб-страницы). В дальнейшем язык активно развивался и в 2004 году вышла пятая версия PHP с поддержкой объектно-ориентированного программирования. В 2020 году вышел PHP 8 и сейчас это высокопроизводительный язык программирования с поддержкой современных стандартов и богатым функционалом.
В настоящее время название языка рекомендуется расшифровывать как PHP: Hypertext Preprocessor (PHP: препроцессор гипертекста).
Примеры проектов
PHP стал идеальным инструментом для разработки CMS приложений — движков веб-сайтов с функционалом хранения и удобного редактирования контента. Как следствие, подавляющая часть небольших простых сайтов в мире работает на PHP.
Этот язык применялся при разработке таких известных сайтов:
- Facebook (первые версии)
- Вконтакте (первые версии)
- YouTube (самая первая версия, почти сразу был переписан на phyton)
- Aliexpress, Taobao
- New York Post, CNN, BBC
- TED, Spotify, Yahoo, Flickr, Vimeo
- ну и конечно же Wikipedia (движок MediaWiki)
Как работает PHP
PHP может работать по различным сценариям и схемам, разберем здесь типовую.
- Пользователь хочет посмотреть страницу https://izi.wiki/index.php.
- Запрос от браузера пользователя передается на сервер по HTTP протоколу (та самая аббревиатура из ссылок)
- На сервере установлена специальная программа "веб-сервер" (примеры Nginx, Apache). Она умеет обрабатывать HTTP запросы.
- Веб-сервер разбирает запрос и по внутренним правилам принимает решение: вернуть ошибку, перенаправить на другой адрес, вернуть пользователю файл или запустить PHP приложение.
- Если требуется запустить приложение, веб-сервер передает данные запроса пользователя в другую программу: PHP-интерпретатор.
- Здесь происходит сложная магия. PHP-интерпретатор проводит лексический и синтаксический анализ php файлов на сервере, генерирует промежуточный байт-код (opcodes - operation codes) и запускает виртуальную машину Zend Engine. В этом не нужно разбираться новичку.
- Итог: PHP программа записанная в php файле выполняется. Если требуется, в процессе выполнения она может обращаться к базе данных и другим сторонним приложениям.
- Результат выполнения в виде набора заголовков и текста ответа PHP-интерпретатор возвращает веб-серверу.
- Веб-сервер из полученных от PHP данных формирует корректный ответ по HTTP протоколу и возвращает пользователю в браузер. В большинстве случаев результат выполнения PHP программы - это HTML страница.
- Браузер обрабатывает ответ и отображает данные пользователю на экране.
Проблемные места
- PHP — узконаправленный язык, главное достоинство влечет и недостатки. Плохо подходит для других задач кроме написания веб-приложений. Если вы знаете хорошо только PHP, вам придется работать только веб-разработчиком.
- Синтаксис языка (набор правил написания) скопирован из различных языков программирования (C, Java, Perl), это вызывает много споров и критики.
- Язык прост для новичков, так как не ограничивает их в написании некачественного, низкопроизводительного и небезопасного кода.
- Плохо подходит для сложных корпоративных и финансовых решений, где ущерб от сбоя или ошибок слишком высок.
Дополнительные статьи
PHP Шпаргалки Краткая и полезная информация
PHP Советы Рекомендации новичкам и опытным специалистам
PHP Примеры Примеры кода для новичков и не только