Личный опыт как доказательство: язык программирования PHP – главный в Сети. Программирование на PHP Язык серверного программирования php полное описание

В то время, как мы учимся созданию сайтов, нам часто попадается термин PHP , но не все точно знают, что это такое и совсем немногие люди утруждают себя тем, чтобы подробно разобраться и изучить эту тему. Что такое php программирование? И для чего оно нужно? Частый вопрос новичков, сейчас я все расскажу!

И в самом деле, иногда просто не возникает в этом необходимости. Например, чтобы создать , вовсе не обязательно глубоко знать PHP, обычно знаний HTML и CSS вполне достаточно, иногда требуется что-то изменить и в PHP коде, но обычно метода «скопировал - вставил» бывает достаточно.

Тем не менее, знание PHP никогда не бывает лишним для верстальщика, чтобы понимать код других, а для вебмастера оно просто необходимо, ведь с помощью него мы можем оживить свой сайт, добавив ему динамики и больше свободы. А тот, кто хорошо изучит этот язык, даже может в случае необходимости разработать и свою CMS.

Цель данной статьи - дать общий обзор новичкам, чтобы у них было представление о том, что может сделать PHP, если они начнут его изучать и применять на своих сайтах.

Так что же такое PHP программирование?

PHP – это язык программирования, также как и HTML и CSS.

Он не так уж сложен для изучения, как это может показаться вначале тем, кто решил взяться за него всерьез. Изучив всего несколько простых функций, вы уже сможете применять их на своем сайте, тем самым значительно повысив функциональность своего проекта.

Язык PHP может соседствовать в одном документе с языком HTML, так что вы можете вставлять код PHP в уже написанный HTML код. Эта особенность языка PHP позволяет вебмастеру добиться наибольшей свободы в своей работе.

Что имеется ввиду под выражением «добавить динамики»? То, что я имею ввиду - это возможность вариантности на сайте, в зависимости от того, какой запрос задает пользователь. Запрашивает ли он какую-то информацию , или, например, хочет выполнить какие-то вычисления – эти действия становятся возможными именно благодаря языку PHP.

Короче говоря, PHP используется для того, чтобы добавить функциональности сайту. С помощью применения одного html вы никогда бы не добились такого эффекта!


Вот несколько примеров того, что можно делать с помощью языка программирования PHP:

Математические вычисления.

PHP может выполнять все виды математических вычислений - от сложения, вычитания, умножения, деления до определения сегодняшней даты, дня недели и года.

PHP может хранить информацию пользователя.

То есть, пользователь может напрямую взаимодействовать со сценарием, например, вводить свои данные в форму контактов или в адресную книгу, задавать запрос через форму поиска, добавлять комментарии к статьям, заводить новые посты на форуме и т.д.

PHP может взаимодействовать с базами данных MySQL.

И, когда задействован этот пункт, то возможности практически безграничны.

Вы можете помещать информацию в базу данных, вы можете ее оттуда извлекать. Это позволит вам создавать новые страницы очень быстро, вы сможете разработать админ панель сайта, вы сможете разработать систему логинов и паролей, в конце концов, вы сможете создавать сложные динамические сайты.

С помощью PHP и различных библиотек вы сможете также управлять графикой сайта.

Например, вы сможете менять размер картинок, поворачивать их, менять их оттенок.

Ваши посетители смогут редактировать свои аватарки, а также благодаря этому возможно использование капчи на сайте. Также вы сможете, например, настроить различные соответственно времени суток и временам года.

Список того, что можно сделать, применяя язык программирования PHP, огромен настолько, что можно очень долго перечислять все его возможности.

И это лишний раз доказывает, что знание PHP может принести большую пользу и множество перспектив человеку, изучающему сайтостроение, особенно тем, кто хочет сделать создание сайтов своим основным видом деятельности и зарабатывать на этом.

На этом сайте уже есть статьи о и приведены . А сейчас мы поговорим, что же такое PHP.

Что такое PHP и что с помощью него можно делать?

В этом несложном введении в язык PHP объясняются основы PHP и как его можно использовать для создания многофункциональных веб-страниц и приложений . PHP — это язык программирования, который можно использовать для написания веб-приложений . Веб-приложение может быть чем угодно — от простой формы «свяжитесь с нами» до полноценной системы ведения блогов, интернет-магазина, или форума. Ещё .

PHP — серверный язык

PHP известен, как серверный язык программирования . Это означает, что он работает на веб сервере . Большинство языков веб-программирования являются серверными языками, но некоторые, например, JavaScript, работают на стороне клиента, это означает, что они работают в веб-браузере.

Серверные языки дают вам больше гибкости, так как вы можете то, что трудно осуществить с помощью JavaScript — например, работа с файлами, базами данных, или работа с изображениями. Нужно сказать, что JavaScript распространился очень быстро в наши дни.

Выполнение кода со стороны сервера является более безопасным способом, чем на стороне клиента, как это делает JavaScript. Поскольку код JavaScript отправляется в веб-браузер, для посетителей сайта легко его просмотреть и редактировать. Даже на одной странице сайта можно с легкостью . Код находящийся на стороне сервера остаётся веб-сервере и недоступен для посетителей сайта. PHP это инструмент, который находится на веб-сервере и там выполняет PHP скрипты.

PHP — программное обеспечение с открытым исходным кодом

PHP представляет собой программное обеспечение с открытым исходным кодом . Это означает, что любой пользователь может получить доступ и работать на PHP. Это помогает быть уверенным, что PHP будет работать в течение длительного времени. PHP можно свободно скачать и использовать. Это является причиной того, что многие хостинг-провайдеры широко используют PHP. Вы обнаружите, что подавляющее большинство веб-хостингом поддерживают работу PHP.

PHP ориентирован на разработку веб-приложений

В то время как многие языки программирования могут быть использованы для создания веб-приложений, PHP является одним из языков специально разработаных для использования в Интернете. PHP имеет множество полезных веб-функций таких, как:

  • Считывание и обработка веб-форм и куки-файлов
  • Функции создания и работы с графикой
  • Установка связи с популярными базами данных такими, как и
  • Функции для работы с .
Вы можете смешивать PHP код с HTML-кодом

Одной из замечательных функцией PHP является то, что вы можете включить блоки PHP кода в HTML-страницы.

Вы можете обособить PHP блоки с помощью специальных символов. Когда веб-сервер получает информацию о странице,
все PHP блоки запускаются движком PHP, в то время как, другие части страницы отправляются «как есть» в браузер.

Эта функция позволяет легко делать интерактивными обычные веб-страницы. Отличный инструмент для форм с обратной связью и форм с похожими функциями.

Использование PHP

Вы можете использовать PHP для записи практически любого типа веб-приложения или сценария. Обычные PHP приложения, включают в себя:

После прочтения статьи вы можете закрепить знания, пройдя небольшой , которые основаны на материале этой статьи. Успехов вам в освоении языка PHP!

1 year ago | 98.5K

Всем привет, меня зовут Сергей Никонов, для тех кто меня не знает, расскажу немного о себе. Мой опыт в разработке веб-сайтов и веб-приложений более 10 лет и в этом видео я постараюсь ответить на один из самых часто-задаваемых вопросов - Какой язык программирования изучать первым?

Смотрите видео Первый язык программирования. Какой выбрать в 2018 году?

Сам по себе язык программирования - это просто инструмент, за счет которого достигается та или иная цель и все объектно-ориентированные языки программирования, имеют общие свойства, такие как переменные, массивы, функции, методы, классы, интерфейсы и другие свойства.

И когда вы научитесь пользоваться этими свойствами хотя бы на среднем уровне в одном языке программирования, вы очень легко сможете освоиться в любом другом языке программирования.

Но еще хочу подчеркнуть, что не пытайтесь изучить сразу все языки программирования, как некоторые студенты, немного попробовали, к примеру писать на Java, через пару дней перекинулись на Python, потом на . В итоге, с таким подходом, не освоили ни одного языка, так как информации, которую нужно изучить очень много у студентов в голове каша и при этом у них теряется мотивация вообще изучать программирование.

Поэтому, пока вы хотя бы на среднем уровне не изучите один язык программирования, не переключайтесь на другой.

Какой же язык программирования выбрать в качестве первого?

Я рекомендую выбрать PHP, так как этот язык очень простой, имеет огромное комьюнити, а также большое количество вакансий по всему миру, если вы хотите изучить программирование, для того, чтобы сменить текущую профессию.

Кто-то может возразить, сказать что PHP медленный, на нем пишут плохой код и т.д. но одним из ярких примеров является сайт Facebook. Он написан на PHP и по посещаемости сайт Facebook находится на 2м месте в мире, среди миллионов веб-сайтов. Кстати, социальная сеть вконтакте, также написана на PHP.

А что касается плохого кода, на PHP, такое возможно, так как сам язык дает много свободы действий и если PHP неправильно изучить, ваш код будет запутанным, а сайт будет медленно работать. О том как правильно изучать PHP самостоятельно и в какой последовательности, я расскажу в одном из следующих видео.

Достаточно часто мне задают вопрос:

Прежде всего необходимо понять, что HTML - это язык разметки, а не программирования и относится к верстке html-страниц. С помощью , вы объясняете браузеру, как должна выглядеть ваша страница, какого размера и цвета должны быть блоки на сайте.

Как начать программировать на PHP?

Программировать на PHP очень просто и все что вам нужно - это

Хорошо известно, что PHP - это мёртвый язык программирования и его 22-летняя экосистема фактически стала бесполезна, когда появился Node и новые асинхронные фреймворки на его основе. Превосходство Node очевидно, потому что все знают, что однопоточные асинхронные программы более лучше по умолчанию. И быстрее.


«Но Саймон! Почему?!", вы, вероятно, прокричите увидев этот текст на экране. И вот почему:

Перспективы трудоустройства

PHP-разработчики не пользуются спросом. По прошествии 22 лет, все компании, использующие PHP, сразу же отказались от него, как только был выпущен Node v0.0.1, потому что этот стек разработки мгновенно стал лучшим. Кроме того, всем известно, что для успешного запуска (забудем про Slack) вам нужно создавать веб-интерфейсы на Node, а данные сохранять в MongoDB.


Иначе просто невозможно добиться успеха.


Приведем немного научных™ фактов, чтобы доказать эти утверждения:

$заголовок = ‘PHP-разработчики не могут найти работу чтобы содержать свои семьи’;

Экосистема языка

Экосистема, вероятно, является самым важным фактором в принятии решения не использовать язык программирования. К счастью для нас, PHP существует достаточно давно, и его экосистема полна крупных, хорошо поддерживаемых и полнофункциональных фреймворков, которые все ненавидят - это и Laravel, своего рода эквивалент Rails, или энтерпрайз решения на подобии Symfony и Zend.


В отличие от PHP, разработчикам Node не нужно беспокоиться о том, чтобы найти фреймворк, который придётся ненавидеть, потому что каждый просто пишет свой собственный. Создавая свои собственные фреймворки, разработчик может действительно выделиться на фоне конкурентов, изобретая колесо таким образом, который имеет смысл только для него самого (разработчика). Эта практика также удваивает гарантию сохранения работы, что очень важно, как показано в результатах научных™ исследований, приведенных выше. Также, это утраивает Фактор Крутости Разработчика™ (Developer Cool Factor™).


Ошеломляющее свидетельство превосходной экосистемы Node можно увидеть на графике ниже:



$заголовок = ‘Чем больше фреймворков - тем лучше’;

Временные затраты

Реальный уровень производительности разработчика можно измерить только оценив как он тратит собственное время. Видно, что разработчики PHP больше времени тратят на написание кода и построение функциональных приложений, чем на культивацию Фактора Крутости Разработчика™ и получение звёзд на GitHub. Это, очевидно, отразится на них негативно при работе в стартапе, ведь они используют свое время непродуктивно. Все мы знаем что звёзды GitHub - это количественный способ оценки навыков разработчика.


Неспособность PHP-разработчиков внести свой вклад в сообщество показана ниже:





$заголовок = ‘Выслушивать жалобы - менее продуктивно, чем жаловаться. Факт.’;

Вещи, которые вы не сможете сделать являясь PHP-разработчиком
  • Программировать асинхронно (по-настоящему!);
  • Получить простую и понятную последовательность параметров функций стандартной библиотеки;
  • Создать свой собственный шаблон приложения React TODO MVC;
  • Реализовать полноценный бэкенд на стороне сервера с фронтендом на стороне клиента;
  • Создавать собственные утечки памяти;
  • Сделать пробел значимым;
  • Добиться потери данных между запросами;
  • Решить проблему голода во всём мире;
  • Программировать на JavaScript;
  • Признаться людям, что вы - PHP-разработчик.
PHP как инструмент для бизнеса

Мы все знаем, что PHP, безусловно, уступает и не может использоваться при разработке бизнес-приложений, поэтому вот список предприятий-неудачников, использующих PHP, в сравнении со списком успешных компаний, реализующих свои продукты на основе Node:



$заголовок = ‘Node замечательный и эффективный инструмент зла’;

Заключение

Каждый разработчик знает, что самый быстрый и эффективный путь к получению чего-либо - это много жаловаться и каждый раз начинать всё с нуля. Рынок всегда будет ждать запуска вашего стартапа, ведь в первую очередь нужно закончить создание собственного фреймворка.
Кроме того, почему мы должны беспокоиться о перекладывании работы и полагаться на сообщество с открытым исходным кодом, когда мы можем просто всё сделать сами?

PHP (англ. PHP: Hypertext Preprocessor -- «PHP: препроцессор гипертекста», англ. Personal Home Page Tools (устар.) -- «Инструменты для создания персональных веб-страниц») -- язык программирования, созданный для генерирования HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP -- распространённый набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).

Группа разработчиков PHP состоит из множества людей, добровольно работающих над ядром и расширениями PHP и смежными проектами, такими как PEAR или документация языка

В области программирования для Сети, PHP -- один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.

Кроме этого, он может использоваться для решения административных задач в операционных системах GNU/Linux, Microsoft Windows, Mac OS X и других версиях ОС. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.

В настоящее время PHP используется сотнями тысяч разработчиков. Порядка 20 миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.

Название PHP -- рекурсивная аббревиатура, означающая «PHP: Hypertext Preprocessor» (ранее акроним расшифровывался как «Personal Home Page Tools»). Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц.

В 1994 году датский программист (ныне живущий в Канаде) Расмус Лердорф (Rasmus Lerdorf) написал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl -- интерпретатора скриптов -- перестало хватать, и Лердорф написал на языке C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter -- «Личная Домашняя Страница / Интерпретатор форм». PHP/FI включал базовую функциональность сегодняшнего PHP: оформление переменных в стиле Perl ($имя_переменной для вывода значения), автоматическую обработку форм и встраиваемость в HTML-текст и многое другое. Новорожденный язык отличался от своего прародителя более простым и ограниченным синтаксисом.

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C -- PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году два израильских программиста, Энди Гутманс (Andi Gutmans) и Зээв Сураски (Zeev Suraski), разработчики из израильского технологического института, расположенного в Хайфе, Израиль, переписали код с нуля: PHP/FI 2.0 был сочтён ими непригодным для разработки приложения электронной коммерции, над которым они в то время работали. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.

Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто PHP.

К концу 1998 года PHP использовался десятками тысяч пользователей. Сотни тысяч веб-сайтов сообщали о том, что они работают с использованием этого языка. В то время PHP 3.0 был установлен приблизительно на 10 % веб-серверов Интернета.

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.

PHP 4.0. К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.

Новый движок, названный Zend Engine (от имён создателей, Зива и Энди, также основателей Zend Technologies), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Прекращение выпуска обновлений PHP 4 было запланировано на конец 2007 года. Однако вплоть до 8 августа 2008 года выпускались критические обновления безопасности. С 9 августа 2008 года всякая поддержка версии PHP 4.x была прекращена.

PHP 5.0. Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент стабильной и наиболее популярной является версии PHP 5.xx.

  • 1 августа 2008 года анонсирована первая альфа-версия PHP 5.3.0, которая содержит ряд изменений и дополнений:
    • - Пространство имен
    • - Позднее статическое связывание и специальный метод __callStatic()
    • - Анонимные функции
    • - Addition of the intl, phar (phar is scheduled for some more work a head of alpha2), fileinfo and sqlite3 extensions
    • - Optional cyclic garbage collection
    • - Optional support for the MySQLnd replacement driver for libmysql
    • - Отмена поддержки версий операционной системы до Windows 2000 (Windows 98, NT4, и.т.д.)
    • - Новые синтаксические конструкции, такие как NOWDOC, ограниченный GOTO, короткий вид тернарного оператора "?:"

PHP 6.0. Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, php_magic_quotes и register_globals из конфигурационного файла php.ini. Также много внимания уделено поддержке Юникода. Загрузить текущую версию разрабатываемого кода для GNU/Linux/BSD и скомпилированные версии для Microsoft Windows можно на сайте PHP Snapshots.

Синтаксис PHP . Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Для работы программы не требуется описывать какие-либо переменные, используемые модули, и т.п. Любая программа может начинаться непосредственно с оператора PHP.

PHP исполняет код, находящийся внутри ограничителей, таких как . Всё, что находится вне ограничителей, выводится без изменений. В основном, это используется для вставки PHP-кода в HTML-документ.

Помимо ограничителей , допускается использование дополнительных вариантов, таких как и . Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP (конструкции и могут быть выключены в конфигурационном файле php.ini).

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Переменные обрабатываются в строках, заключённых в двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора $b; // Обращение к полю a объекта, т.к. $b = "a"

$obj->$c(); // Вызов метода function_name() объекта

Суперглобальные массивы. Суперглобальными массивами (англ. Superglobal arrays) в PHP называются предопределённые массивы. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т. п.).

Все суперглобальные массивы кроме $GLOBALS и $_REQUEST имеют устаревшие аналоги с длинными именами, которые доступны вплоть до пятой версии PHP (в шестой версии планируется их исключение). Таким образом, обращения $_GET["year"] и $HTTP_GET_VARS["year"] идентичны.

Массив всех глобальных переменных (в том числе и пользовательских).

$_SERVER (устаревший аналог -- $HTTP_SERVER_VARS)

Содержит переменные окружения, которые операционная система передает серверу.

$_ENV (уст. $HTTP_ENV_VARS)

Текущие переменные среды (англ. Environment variables). Их набор специфичен платформы, на которой выполняется скрипт.

$_GET (уст. $HTTP_GET_VARS)

Содержит параметры GET-запроса, переданные в URI после знака вопроса «?».

$_POST (уст. $HTTP_POST_VARS)

Ассоциативный массив значений полей HTML-формы при отправки методом POST. Индексы элементов соответствуют значению атрибута name элементов управления HTML-формы.

$_FILES (уст. $HTTP_POST_FILES)

Ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет индекс идентичный значению атрибута «name» в форме и, в свою очередь, также является массивом со следующими элементами:

["name"] -- исходное имя файла на компьютере пользователя.

["type"] -- указанный агентом пользователя MIME-тип файла. PHP не проверяет его и поэтому нет никаких гарантий что указанный тип соответствует действительности.

["size"] -- размер файла в байтах.

["tmp_name"] -- полный путь к файлу во временной папке. Файл необходимо переместить оттуда функцией move_uploaded_file. Загруженные файлы из временной папки PHP удаляет самостоятельно.

$_COOKIE (уст. $HTTP_COOKIE_VARS)

Ассоциативный массив с переданными агентом пользователя значениями кук.

Содержит элементы из массивов $_GET, $_POST, $_COOKIE. С версии PHP 4.1 включает $_FILES.

$_SESSION (уст. $HTTP_SESSION_VARS)

Содержит данные сессии.

Объектно-ориентированное программирование . PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.

Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основные механизма ООП -- инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого слова extends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.

Классы в PHP имеют ряд специальных методов (англ. Magic methods), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct(), в ранних версиях конструктором служил метод, одноименный с классом) и деструктор (__destruct()), а также методы чтения (__get()) и записи (__set()), свёртывания (__sleep()) и развёртывания (__wake()), клонирования (__clone()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно легко добиться существенного изменения поведения объекта.

Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием символов ->. Для доступа к членам класса из его методов используется переменная $this.