php что за что отвечает
Определение и особенности языка PHP
Что такое PHP
Начнём с определения того, чем именно является PHP. Сложно в одном предложении дать полное представление об этом языке, поэтому опишем его следующими тремя характеристиками:
PHP — это препроцессор гипертекста (HTML).
PHP — это серверный язык программирования.
PHP — это скриптовый, интерпретируемый язык программирования.
Зачем нужен PHP
Поясним каждое из определений и узнаем, в каких задачах будет полезен PHP.
Основная задача PHP — это «оживление» HTML страниц.
Обычные HTML-страницы статичны. Статичность (или неизменность) означает, что после того, как страницу создали и загрузили на сайт, при каждом обращении к этой странице браузер покажет её любому пользователю в неизменном виде.
Но этого не всегда достаточно.
Почти всегда пользователи приходят на сайт за информацией, которая всё время меняется, и нужно отображать её актуальное состояние. Например:
Если использовать только HTML, то решить такие задачи не получится. Здесь-то нам и понадобится PHP. Он принимает входящий запрос от веб-сервера, выполняет сценарий и возвращает веб-серверу результат в виде готового HTML-код. Сервер отправляет этот результат в браузер пользователю, который, в свою очередь, отображает её пользователю. После этого видно свежий курс валют, погоду, и что угодно ещё.
РНР позволяет изменять веб-страницу на сервере непосредственно перед тем, как она будет отправлена браузеру. Давайте разберёмся, как это работает. PHP умеет исполнять код — так называемые сценарии. В ходе исполнения PHP может изменить или динамически создать любой HTML-код, который и является результатом исполнения сценария. Затем сервер отправляет этот код браузеру. При этом браузеру не известно, как была сформирована данная страница — статично сверстана верстальщиком, или динамически создана при участии PHP. Это не важно, т.к. браузер всегда работает только с тем, что получил от сервера.
Давайте запомним, что сценарий — это программа, которая находится на стороне сервера и запускается в ответ на запрос от браузера.
Выполнение сценария также называют его интерпретацией, а сам PHP — интерпретатором.
Вы можете попрактиковаться в создании динамических страниц с помощью PHP в этом тренажёре.
Где используется PHP
Основная сфера применения языка PHP — это веб, то есть сайты, которые мы каждый день посещаем через браузер компьютера или смартфона. Важно понимать, что веб — это не весь интернет, а только самая большая и популярная его часть. Кроме веба через интернет работает электронная почта, мессенджеры, файлообменные сервисы, сетевые игры и многое другое.
Практически каждый сайт, который есть в интернете, работает на PHP. Этот язык отлично подходит для любых динамических веб-сайтов, среди которых:
Установка и использование
На нашем курсе мы будем работать с версией PHP 7.1
Где скачать PHP?
Мы рекомендуем использовать программную сборку OpenServer. После загрузки и установки на вашем компьютере появятся свежая версия PHP, веб-сервер, база данных, и много других программ и инструментов для удобной работы. Подробнее об установке и использовании мы рассказываем на первой лекции.
Как выглядит PHP-сценарий
Типичный PHP-сценарий — это набор выражений. Каждое выражение начинается с новой строчки и заканчивается точкой с запятой.
Выражение — это инструкция, которая приказывает PHP-интерпретатору выполнить одно действие, например, сложить два числа или вывести на экран информацию. Давайте посмотрим на самый простой сценарий. Он будет выводить на экран одну строку: «Привет, Мир!»:
В нашем примере сценарий состоит из всего одной инструкции: print(«Привет, мир»);
Здесь мы просим функцию print вывести на экран наш текст — «Привет, Мир!». Это можно рассматривать как подлежащее и сказуемое в русском языке, где функция print — это сказуемое, а «Привет, Мир!» — подлежащее.
Как мы уже знаем, PHP можно встроить в статичные HTML-файлы и модифицировать их с помощью инструкций. Вот как будет выглядеть тот же пример с выводом текста, но расположенный внутри HTML:
Потренироваться вставлять код на PHP в разметку можно в этом задании.
Зачем нужен PHP
О PHP ходит много мифов — прочитайте о них у нас в блоге.
На PHP делают сайты и веб-приложения — блоги, интернет-магазины или социальные сети. Сегодня на PHP работает почти 38 миллионов сайтов — и среди них всемирно известные Facebook, Wikipedia и «ВКонтакте». Рассказываем, для чего ещё нужен PHP, и почему без него не обходится большинство современных сайтов.
PHP придумали в 1995 году, и тогда он ещё не был полноценным языком программирования. Это был набор скриптов для личной страницы одного программиста из Дании, но в итоге проект разросся так, что получил собственный синтаксис, поддержку дополнительных модулей, признание в среде разработчиков и превратился в один из самых популярных языков программирования в мире. Кстати, название PHP расшифровывается как Personal Home Page — и отсылает к тому, чем язык был изначально.
Не будем углубляться в историю и рассмотрим, для чего используется PHP.
Формирование страниц «на лету»
Предположим, у нас есть библиотека с тысячей книг, и мы хотим сделать для неё сайт. По задумке, на каждой странице нужна информация о книге: имя автора, описание и фотография обложки. Если бы книг было десять, то ничего страшного — можно вручную сделать страницу для каждой. Но для библиотеки из тысячи книг нужно создать тысячу разных статичных страниц.
«Всегда выбирай шаблон.»
Возможно, у нас есть достаточно времени, чтобы создать тысячу файлов с уникальным содержимым. Но если после создания последней страницы мы решим добавить везде каталожный номер книги или режим работы библиотеки, то придётся повторно отредактировать все файлы. Получается, любое изменение структуры или информации на страницах потребует изменений во всех созданных файлах.
PHP помогает решить эту задачу — мы можем создать одну страницу и показывать на ней информацию о той книге, которая нам нужна прямо сейчас. Такой способ называется динамическим формированием страниц на бэкенде.
Бэкенд (back-end) — это часть сайта, которая находится на сервере, получает запрос от браузера, выполняет запрошенные действия и отправляет информацию обратно. Такой подход применяется повсеместно в клиент-серверном программном обеспечении, и PHP тоже может решать такие задачи. Язык прекрасно справляется с ролью бэкенда для мобильных, десктопных или веб-приложений.
Как формируются страницы
PHP как раз нужен для динамического формирования страниц на основе информации из базы данных.
Представим, что информация о нашей тысяче книг хранится в базе данных. Тогда мы можем легко сформировать страницу конкретной книги (допустим, мы ищем «Тёмную башню» Стивена Кинга).
Для пользователя страница будет выглядеть как обычно, но с точки зрения PHP — это динамически сформированная страница на основе шаблона. Если нам потребуется что-нибудь поменять: добавить блок информации, изменить вёрстку или отобразить ещё что-то из информации о книге, нужно будет изменить не тысячу файлов, а один, с шаблоном страницы. И когда мы будем заходить на сайт, все изменения сразу будут видны на всех страницах.
Управление контентом на странице
Всю информацию в базе данных мы можем менять без изменения сайта — поэтому, например, созданием сайта может заниматься один человек, а наполнением — другой, даже без навыков программирования.
Поэтому PHP хорошо подходит для создания систем управления контентом (CMS), интернет-магазинов и всевозможных интернет-сервисов. В основе практически любого сервиса лежит принцип формирования динамических страниц: например, каталога товаров или статьи в блоге. Страница, которую вы сейчас читаете, тоже динамически сформирована с использованием PHP.
Чтобы быстро создать новый сайт на PHP, не нужно программировать его с нуля. Можно использовать одну из систем, которая основана на PHP, и позволяет легко редактировать содержимое без программирования. Например, проект WordPress помогает при создании блогов, персональных сайтов и даже небольших интернет-магазинов. Для всего перечисленного там уже есть готовые шаблоны, которые нужно только заполнить контентом. При этом WordPress — лишь один из немногих успешных инструментов.
Разработка сервисов
Если мы говорим о разработке, а не о наполнении контентом, стоит вспомнить и другие возможности PHP.
У PHP есть модули для лёгкой работы с базами данных, электронной почтой, службами каталогов и многими другими технологиями. Благодаря этому возможно создавать сервисы без привязки к вебу — например, для работы с данными внутри организации. Сервис, позволяющий получить информацию о сотрудниках из корпоративной базы данных — пустяковая задача для PHP.
Другая сильная сторона PHP — автоматизация действий. PHP работает на стороне сервера, и на нём можно разрабатывать различные сценарии для автоматизации: делать резервные копии информации, собирать и доставлять проекты на рабочий сервер, создавать и редактировать пользователей и т.д. Эти сценарии работают прямо из командной строки, без необходимости создавать графический интерфейс.
Почему именно PHP
Компания TIOBE регулярно формирует статистику популярности языков программирования. Больше двадцати лет PHP удерживается в десятке популярных языков программирования.
Популярность языков программирования по версии TIOBE в октябре 2019 года
PHP даёт большую свободу разработчикам — он одинаково хорошо работает на всех популярных системах, включая Windows, Linux и OS X. Разработчики могут выбрать удобный им веб-сервер и базу данных для работы с PHP. Такой широкий выбор возможен благодаря многолетней поддержке сообщества и наличию модулей для работы почти с любым набором программ.
Новые версии PHP выходят регулярно — в них улучшается производительность и добавляются новые возможности. Язык не сдаёт позиции и со временем становится только лучше. Сегодня, как и несколько лет назад, PHP может стать прекрасным выбором для нового веб-проекта или первым языком при обучении программированию.
Если вы хотите научиться создавать собственные сайты на PHP, пройдите интерактивный курс «Основы PHP» и прочитайте учебник — это станет хорошей базой для того, чтобы выучить язык и стать профессионалом.
Доказательство — в интерактивном курсе «Знакомство с PHP». Зарегиструйтесь и начните программировать уже сегодня — это бесплатно.
Нажатие на кнопку — согласие на обработку персональных данных
Зачем нужен PHP
Что такое PHP
Серверный. PHP скрипты выполняются на сервере. Этим язык PHP отличается от HTML, CSS и JavaScript, код которых выполняется браузером.
Скриптовый. Когда вы запускаете программы вроде Excel или Photoshop, предполагается, что они могут работать без временных ограничений, ожидая от вас всё новые и новые команды.
PHP устроен иначе. PHP скрипты предназначены для единовременного выполнения набора команд. Скрипт запустился, выполнил свою задачу и «умер». И так при каждом запуске.
Зачем нужен PHP
Язык PHP нужен для написания программ, которые работают на сервере и выполняют различные серверные задачи, такие как отправка почты, взаимодействие с базой данных и т.д.
Разберём подробней на примерах.
Пример 1: обработка форм
Практически на любом сайте можно встретить форму вроде этой:
Формы имеют самое разное назначение: регистрация и авторизация, оформление заказа, оплата чего-либо, комментарии на форуме и множество других функций.
Так вот. С помощью HTML и CSS мы можем определить внешний вид формы. С помощью Javascript мы можем добавить красивые анимационные эффекты.
Но мы не можем обработать данные, которые содержатся в этой форме. Нельзя сохранить информацию о клиенте в единой базе данных, авторизовать пользователя, отправить письмо ему на E-mail и т.д.
Для решения подобных задач нам необходим специальный язык программирования, который может работать на сервере. Одним из таких языков и является PHP.
Пример 2: генерация HTML
PHP также используется для автоматической генерации HTML страниц.
Крупные интернет-магазины могут иметь тысячи наименований товаров. Мы, конечно, могли бы создать для каждого товара отдельную html-страницу, но представьте, сколько времени уйдёт на создание этих страниц.
Благодаря связке PHP и любой современной СУБД (системы управления базами данных) мы можем создать всего один html-шаблон, а PHP уже будет подставлять в него товары из базы данных.
Для чего подходит PHP
Также PHP подходит для написания консольных скриптов. Запускать их можно как разово, так и с определённой периодичностью.
Что касается десктопных приложений, здесь у PHP достаточно скудный инструментарий, поэтому на практике PHP не подходит для написания настольных и мобильных приложений.
Что такое PHP? Пишем свою первую программу на PHP
PHP — что это такое? PHP – язык программирования, который исполняется на стороне сервера, в то время как JavaScript исполняется в браузере на стороне пользователя.
Прочитав эту статью о PHP программировании, вы узнаете :
Сценарный язык vs программный язык
Программный язык | Сценарный язык |
Предлагает свойства, необходимые для разработки полноценных приложений. | В основном используется для выполнения рутинных задач. |
Перед исполнением код нужно компилировать. | Код исполняется без компиляции. |
Необязательно встраивать в другие языки. | Обычно встраивается в другие программные среды. |
Как расшифровывается PHP?
PHP-код можно встраивать в HTML или использовать в CMS и веб-фреймворках.
Что такое PHP?
PHP — язык программирования, который активно используется в разработке:
PHP-скрипты могут быть выполнятся только на тех серверах, где установлен интерпретатор данного языка.
Синтаксис PHP
На рисунке, приведенном ниже, демонстрируется базовая архитектура веб-приложения и процесс обработки запросов сервером. Это важно знать при изучении PHP программирования с нуля:
Зачем нужен PHP?
Для чего используется PHP и какова его доля на рынке?
На основе PHP работает более 20 миллионов сайтов и веб-приложений:
PHP vs ASP.NET vs JSP vs CFML
ASP – Active Server Pages.
JSP – Java Server Pages.
CFML – Cold Fusion Markup Language.
В таблице ниже язык программирования PHP сравнивается с различными серверными языками.
Файловые расширения PHP
Сами PHP-теги не чувствительны к регистру, но настоятельно рекомендуется использовать нижний регистр:
Мы расцениваем строки PHP-кода как выражения. Они оканчиваются точкой с запятой ( ; ). Если у вас будет только одно выражение, то точку с запятой можно опустить. Если выражений больше одного, то каждая строка должна завершаться точкой с запятой.
PHP Hello World
Резюме
Пожалуйста, опубликуйте свои комментарии по текущей теме материала. Мы очень благодарим вас за ваши комментарии, подписки, дизлайки, отклики, лайки!
Язык программирования PHP: от истоков до современности
Ему ежегодно пророчили исчезновение из-за невостребованности. Но спустя годы он по-прежнему в топе. Встречайте самый распространенный язык — PHP.
Что за язык PHP и почему он так популярен
PHP: Hypertext Preprocessor (изначально Personal Home Page Tools, «Инструменты для создания персональных веб-страниц») — один из лидирующих языков современной веб-разработки. Его отцом считается датский программист Расмус Лердорф, который в 1994 году создал набор скриптов на Perl — ту самую «персональную домашнюю страницу», которая легла в основу PHP.
Первое свойство: интерпретируемость
Главная характеристика PHP — интерпретируемость. В отличие от Java, которая компилируется, а затем запускается в работу, PHP создается во время обращения к нему. Человек открывает сайт, на сервер посылается запрос, и в это время компилируется код. Каждый скрипт компилируется в реальном времени, а затем выполняется.
Приводим пример кода:
Благодаря этому свойству PHP — очень гибкий язык. Например, Java-программист вводит название класса один раз — теперь оно неизменно. PHP же компилируется в рантайме и можно подставить любое название класса из переменной.
Однако ради гибкости разработчик жертвует скоростью работы сайта. В случае с Java программу создают, а затем запускают. В случае с PHP приходится занимать время пользователя на процесс компиляции кода.
Второе свойство: динамическая типизация
Языки программирования бывают:
1) со статической типизацией;
2) с динамической типизацией.
В первом случае тип переменной определен жестко и заранее. Если это число, программист напишет тип int. Если строка — string. Во втором случае переменная может быть одновременно числом, строкой, массивом, объектом — чем угодно. Одной переменной можно присвоить число, затем массив, объект — и язык программирования это позволит. PHP относится ко второй группе.
Но есть проблема
Проблема динамической типизации в том, что она приводит к уменьшению скорости работы и потреблению большого количества оперативной памяти. Но динамическая типизация гибкая и удобная, поэтому PHP так популярен.
Команда разработки PHP сейчас трудится над тем, чтобы он занимал меньше памяти при работе, но сохранил гибкость статически нетипизированного языка.
Обзор версий: между первой и седьмой
Версии с первой по третью были «сырыми»: мало возможностей, хотя для создания простых сайтов их хватало. С версии 5.4 PHP стал отлаженной технологией. До этого было слишком много нюансов, и работать с ними было непросто.
Релизы 5.5 и 5.6 — серьезные, проверенные временем вещи. Они отлично себя показали и достаточно защищены от инъекций и возможностей взлома.
Шестую версию пропустили: она должна была поддерживать Unicode на уровне ядра, но релиз не состоялся. «PHP6 был амбициозным, но отстойным. Вот почему мы занялись PHP 7, в процессе пропустив шестую версию», — прокомментировал в своем блоге Vilson Duka, один из разработчиков.
Седьмая версия считается революционной в плане скорости. 5.6 медленно работала с массивами и вообще с переменными: обработка статически нетипизированных данных происходила долго. Строка обрабатывалась в 60 раз медленнее, чем на C#. Это не бросается в глаза — речь о долях секунды. Но когда у тебя миллиард пользователей, как на Facebook, скорость критична.
HipHop и прорыв в скорости
Facebook написан на PHP — проблему нужно было решать. Их программисты создали для пятой версии собственный интерпретатор языка. Они компилировали его изначально в промежуточные коды, а затем отправляли в обычный интерпретатор Zend Engine. Программисты Facebook ввели статическую типизацию и ускорили работу языка в два раза. Это стало настоящим прорывом. Транслятор назвали HHVM, или HPHP Compiler — «HipHop для языка PHP».
Но команда разработки PHP плотно занялась массивами. Итогом стала седьмая версия, которая работала быстрее HHVM. При этом статической типизации в PHP7 по-прежнему почти нет. Только в параметрах функции — но это так мало, что можно считать, будто нет.
С версии 7.0 до 7.3, которая сейчас в бета-тестировании, язык ускорялся — разница видна по замерам:
7.3 станет последним релизом: поддерживать и править ошибки будут, но ничего принципиально нового не появится.
Будущее PHP: восьмая версия
Главная задача — сделать PHP быстрым при сохранении гибкости динамического языка. Разработчики понимают, что в дальнейшем нужно приходить к статической типизации. Сейчас рассматривают опциональный вариант, когда ее можно включать в определенных частях скрипта. Это наилучший путь из возможных.
Восьмая версия появится ориентировочно в 2020–2022 годах. На open source-платформах изменения принимаются общим голосованием совета разработчиков. Сейчас идет тестирование нововведений в PHP 8.
В мире PHP ничего не происходит без движения сообщества.
Статическую типизацию планировали ввести в седьмой версии, но она не прошла голосование: нашлись изъяны. Ошибки исправили, и теперь мир разработки ждет возможность ее отключения одной командой в коде.
PHP частично написан на языке С, и в восьмой версии хотят полностью отойти от него. Также реализуют работу с матрицами: она ускорится в пять раз по сравнению с седьмой версией.
Для чего используют PHP
Единственное применение — это веб-разработка. На PHP невозможно сделать десктопные приложения, он не используется в мобильной разработке — только веб. Но сегодня эта область огромна. Даже некоторые десктопные приложения уходят в веб — тот же Microsoft Office имеет облачный сервис. Ранее считалось, что PHP не подходит для больших высоконагруженных проектов, но опыт Facebook доказывает обратное. «Авито» — еще один пример удачной реализации. Подробнее о том, как использовать PHP — в нашей статье Для чего используют PHP и почему его ненавидят.
С чего начать изучение
PHP легко изучить самостоятельно за счет низкого порога входа. Буквально за вечер можно прочитать документацию и написать скрипт, который будет возвращать данные на сайт. Другие языки (C#, Java) имеют более высокий порог вхождения, и одного дня мало, чтобы создать работающий код. Сегодня на российском рынке труда из-за низкого порога входа PHP-кодеров много, и большинство — невысокого уровня.
Хороший разработчик PHP фактически применяет те же паттерны программирования, что и в статически типизированных языках. На PHP даже сложнее программировать, и вот почему. Если в Java или C# допустить алгоритмическую ошибку, например, присвоить переменной не тот тип, — они «дадут по рукам». PHP же это пропустит, и программист сломает голову: что не так? Ведь все работает, но неправильно. Из-за этого на современном рынке хорошим программистам PHP готовы платить чек не ниже, чем другим разработчикам. Но хорошего специалиста сложно найти.
Чтобы учить язык, нужно задать себе вопрос: «Для чего он мне?» Учить ради процесса учебы — бесполезно, ведь без практического применения знания забудутся. Нужно поставить конкретную задачу и искать решение.
Начинайте изучать PHP в интернете: сегодня выпускается много видеоуроков, онлайн-лекций и тренажеров. Рекомендуем наш курс «PHP-разработчик», где вы прокачаете свой уровень с нулевого до профессионального.
Программное обеспечение с открытым исходным кодом.