Kwert-soft.ru

IT Софт для ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php краткое описание

Основы синтаксиса PHP

Синтаксис языка

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

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

Переменные

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

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

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

Как работать с переменными

Любую переменную следует вначале объявить, то есть дать ей имя и присвоить значение.
В синтаксисе PHP имя переменной записывается латинскими символами, но первым символом всегда должен быть знак доллара $ , а затем идёт имя.
Не допускается начинать имя переменной с цифры, а также использовать любые значения, кроме букв алфавита и знака подчеркивания.
Примеры допустимых имён переменных:

Примеры недопустимых имён:

  • age — забыт знак доллара в начале;
  • $42 — начинается с цифры;
  • $my-age — содержит дефис.

Присваивание

Пустая переменная не будет слишком полезна. Поэтому давайте сразу что-нибудь туда поместим. Такое действие называется операцией присваивания.
Вот как выглядит присваивание информации в новую переменную:
$favorite_color = «green»;

Знак “равно” в PHP является оператором и всегда означает операцию присваивания.
Здесь мы записали слово “green” в переменную под именем favorite_color.
Обратите внимание: мы взяли в кавычки слово green. Кавычки всегда строго необходимы, если речь идёт об использовании текста. Но если в переменную помещается не текст, а число, то кавычки не нужны.
Пример:
$favorite_number = 42;

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

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

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

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

Конкатенация

Этим страшным словом называется операция склеивания нескольких строк в одну. Предположим, у нас есть две уже знакомые переменные: $favorite_color и $favorite_number , а мы собираемся вывести их в одной строке, чтобы получить такой результат:

  • Мой любимый цвет — зелёный, а любимое число — 42

где значение цвета хранится в $favorite_color, а числа в $favorite_number”.

Чтобы получить такую строку, необходимо использовать оператор конкатенации — . (точка). В качестве операндов он берёт две строки или переменные, содержащие строку, а затем возвращает новую строку.
Выглядит это так:

Типы данных

Выше уже упоминалось, что данные, помещённые в переменную, могут быть строкой текста или числом. В действительности таких типов данных гораздо больше, но первое время мы будем работать только с несколькими. Однако нам всё равно важно уже сейчас понимать, что такое «типы данных».
Тип данных в языке программирования определяет допустимые значения, а также допустимые операции с данными этого типа.
Например, с данными типа «целое число» допускается выполнять арифметические операции, а с данными типа «строка» — нет. Поделить строку на строку невозможно. Кроме того, числа могут быть только в определенных пределах (в версии PHP для 32-битной ОС, самое большое число: 2147483647), а строки обязательно должны находиться в кавычках.

Операторы

Оператором в программировании называется нечто, принимающее одно или более значений.
Например, в арифметике есть такие операторы: +, -, /, *. Что означает сложение, вычитание, деление и умножение. Оператор всегда работает только в паре с двумя значениями, например складывает два числа (операнда) или умножает их друг на друга.
PHP дополняет уже знакомые нам из арифметики операторы, несколькими новыми:

  • уже знакомый оператор присваивания = , который используется для присваивания значения переменной;
  • очень полезны операторы сравнения: == , != , > , — равно, не равно, больше и меньше;
  • % — оператор остатка от деления одного числа на другое. Например: 5 % 2 == 1; // true .

Условные конструкции

Иногда, в зависимости от условия, нужно выполнять различные действия. Для этого используется оператор if. Например, мы спросили пол посетителя нашей страницы, сохранили его в переменную, а теперь хотим вывести разное приветствие, в зависимости от того, мужчина это или женщина. Для этого пригодятся операторы if и else .

Из примера видно, что условная конструкция состоит из трех частей:

  • условие if — выражение, которое возвращает истинный или ложный результат;
  • блок if — строки кода, которые будут выполнены, если условие вернуло истину;
  • блок else — строки кода, которые будут выполнены, если условие вернуло ложь.

Обратите внимание, что каждый блок обрамляется и ограничивается фигурными скобками.

Выражения

Выражение в языке программирование — это минимальный блок кода, имеющий значение (результат). Звучит несколько сложно, но на практике почти каждая строка сценария является выражением. Вот несколько примеров выражений:

Важно усвоить одно главное свойство выражений — они всегда имеют результат. Также различают два типа выражений: логические и арифметические. Результатом выполнения логического выражение всегда будет истина или ложь.
Например, результатом выражения 2 > 3 будет “ложь”, потому что два, очевидно, меньше трех.

Другим видом выражений является арифметическое выражение. Результатом выражения $amount = 2 + 2 будет 4.

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

Предположим, что на нашем сайте мы хотим показать определённую картинку только посетителям мужского пола и старше 18 лет. Ранее, в коде сценария, мы уже получили и сохранили год рождения и пол посетителя в переменные $age и $gender .
Напишем выражение и условие для реализации такого поведения:

Обратите внимание на ключевое слово and — это оператор, который объединяет два отдельных выражения в одно новое. Это новое выражение будет иметь значение «истина», только если оба отдельных выражений будут истинны.
Иными словами, наше условие будет выполняться только для посетителей мужского пола И возрастом старше восемнадцати. То есть несовершенолетние мальчики, равно как и совершенолетние девочки никакой картинки не увидят.

Понятие алгоритма

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

Если говорить простыми словами, то алгоритм — это просто очень подробный план работы. Мы все в течение жизни что-нибудь планируем: отпуск, какое-нибудь мероприятие, своё самостоятельное обучение и тому подобное. От простого списка шагов алгоритм отличает существование условий и повторяющихся действий. Если вы в состоянии создать хороший, подробный алгоритм для реализации, скажем, какой-нибудь возможности на сайте, то можно считать, что половина дела уже сделана!

Разберём для примера один алгоритм средней сложности. На сайт нужно добавить форму обратной связи. Пользователь может заполнить эту форму, указать там свои контактные данные и написать сообщение. Информация из заполненной формы отправляется на электронную почту владельцу сайта. Вот как будет выглядеть алгоритм для этой задачи:

  1. Показать форму.
  2. Проверить, что форма отправлена.
  3. Составить список полей формы, обязательных для заполнения.
  4. Для каждого поля из списка проверить, что оно заполнено.
  5. Если поле не заполнено, показать ошибку и не отправлять форму.
  6. Если все поля заполнены, сформировать сообщение электронной почты.
  7. Отправить сообщение на адрес администратора сайта.

PHP, Ruby, Python – краткая характеристика трёх языков программирования

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

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

Читать еще:  Php аутентификация пользователя

В итоге вы поймёте, какой язык более подходит для решения ваших задач, какой из них стоит учить:

PHP: самый популярный язык для Интернета

PHP ( Hypertext PreProcessor , препроцессор гипертекста) – язык программирования, исполняемый на стороне веб-сервера, спроектированный Расмусом Лердорфом ( Rasmus Lerdorf ) в качестве инструмента создания динамических и интерактивных веб-сайтов.

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

Преимущества PHP:

  • является свободным программным обеспечением, распространяемым под особой лицензией (PHP license);
  • легок в освоении на всех этапах;
  • поддерживается большим сообществом пользователей и разработчиков;
  • имеет развитую поддержку баз данных;
  • имеется огромное количество библиотек и расширений языка;
  • может использоваться в изолированной среде;
  • предлагает нативные средства организации веб-сессий, программный интерфейс расширений;
  • является довольно полной заменой проприетарной среды ASP ( Active Server Pages ) от Microsoft ;
  • может быть развёрнут почти на любом сервере;
  • портирован под большое количество аппаратных платформ и операционных систем.

Недостатки PHP:

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

Проекты, использующие PHP:

  • Zend ;
  • Yahoo ;
  • Facebook ;
  • Google
  • NASA ;
  • W3C .

Популярность:

Согласно Википедии , на 1 января 2013 года PHP был установлен на более чем 240 миллионах веб-сайтов (39% от всего объёма исследованных) или на 2,1 миллионах веб-серверов.

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

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

Ruby: интерпретируемый, чистый ООП-язык

Ruby – динамический императивный объектно-ориентированный язык программирования, разработанный Юкихиро Матсумото . Ruby был создан под влиянием таких языков, как Perl , Eiffel и Smalltalk .

Он характеризуется динамической типизацией и автоматическим управлением памятью. Язык Ruby используется в веб-разработке в составе открытого веб-фреймворка Rails , чаще называемого Ruby on Rails ( RoR ):

Преимущества Ruby:

  • открытая разработка;
  • работает на многих платформах;
  • может внедряться в HTML -разметку;
  • относится к языкам программирования сверхвысокого уровня ( VHLL ), то есть обладает высоким уровнем абстракции и предметным подходом в реализации алгоритмов;
  • реализует концептуально чистую объектно-ориентированную парадигму;
  • предоставляет продвинутые методы манипуляции строками и текстом;
  • легко интегрирует в свои программы высокопроизводительные серверы баз данных ( DB2, MySQL, Oracle и Sybase );
  • благодаря VHLL программы на Ruby хорошо масштабируются и легко сопровождаются;
  • простой и чистый синтаксис значительно облегчает программистам первые шаги в обучении этому языку;
  • имеется простой программный интерфейс для создания многопоточных приложений;
  • имеет продвинутые средства для работы с массивами;
  • возможности языка можно расширить при помощи библиотек, написанных на C или Ruby ;
  • зарезервированные слова могут являться идентификаторами, если это не создаёт неоднозначности для парсера;
  • дополнительные возможности для обеспечения безопасности;
  • встроенный отладчик.

Недостатки Ruby:

  • обучение языку выше начального уровня может оказаться непростым;
  • информационных ресурсов, посвящённых Ruby , явно недостаточно;
  • Ruby менее производителен по сравнению со многими другими языками, применяемыми в веб-разработке;
  • Ruby относительно медленно разрабатывается и развивается.

Проекты, использующие Ruby:

  • Google SketchUp ;
  • 37signals ;
  • GitHub ;
  • Shopify ;
  • Indiegogo ;
  • Basecamp .

Популярность

Согласно официальному сайту Ruby , этот язык входит в десятку наиболее популярных языков программирования. Рост популярности самого языка обусловлен популярностью программных продуктов, написанных на Ruby , в особенности RoR .

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

Файлы программ, написанных на Ruby , имеют расширение .rb . Эти файлы можно запустить как скрипты командной оболочки при помощи интерпретатора. Например, учитывая, что интерпретатор Ruby находится в /usr/bin :

Python: язык программирования общего назначения

Python широко применяется как интерпретируемый язык для скриптов различного назначения (хотя существуют и трансляторы языка Python ).

Как и Ruby , Python имеет целью приблизить синтаксис реальной программы, написанной на нём, к описывающему задачу псевдокоду, что позволяет программисту уменьшить объём программы. Идея создания данного языка возникла в конце 1980-х и была реализована Гвидо ван Россумом .

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

Преимущества Python:

  • открытая разработка;
  • довольно прост в изучении, особенно на начальном этапе;
  • особенности синтаксиса стимулируют программиста писать хорошо читаемый код;
  • предоставляет средства быстрого прототипирования и динамической семантики;
  • имеет большое сообщество, позитивно настроенное по отношению к новичкам;
  • множество полезных библиотек и расширений языка можно легко использовать в своих проектах благодаря предельно унифицированному механизму импорта и программным интерфейсам;
  • механизмы модульности хорошо продуманы и могут быть легко использованы;
  • абсолютно всё в Python является объектами в смысле ООП , но при этом объектный подход не навязывается программисту.

Недостатки Python:

  • не слишком удачная поддержка многопоточности;
  • на Python создано не так уж много качественных программных проектов по сравнению с другими универсальными языками программирования, например, с Java ;
  • отсутствие коммерческой поддержки средств разработки (хотя эта ситуация со временем меняется);
  • изначальная ограниченность средств для работы с базами данных;
  • бенчмарки показывают меньшую производительность Python по сравнению с основными Java VM , что создаёт этому языку репутацию медленного.

Проекты с использованием Python:

  • Yahoo Maps ;
  • Zope Corporation ;
  • Linux Weekly News ;
  • Shopzilla ;
  • Ultraseek .

Популярность

Согласно Wikipedia , Python прочно вошёл в 8 наиболее популярных языков программирования по версии TIOBE Programming Community Index . А если не считать отдельно языки с C-подобным синтаксисом ( C++, C#, ObjectiveC, Java и т. д.), то Python является третьим по популярности языком.

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

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

Наберите в командной строке:

Потребность в специалистах

Основываясь на анализе Jobs Tractor , учитывающем более 45000 вакансий разработчиков, опубликованных в Twitter за последний год, потребность в программистах такова:

  • PHP – требуется 8238 человек;
  • Ruby – 2937 человек;
  • Python – 1587 человек.

Разумеется, статистика – не единственный фактор, который стоит принимать во внимание при изучении языка программирования.

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

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

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

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

Развитые фреймворки, включающие в себя функции для работы с пользовательскими данными (статьями, темами, постами, фотографиями и т. д.) называются фреймворками управления контентом ( Content Management Framework – CMF ).

Если добавить к этому элементы интерфейса для конечного пользователя сайта, получается так называемая система управления контентом или CMS ( Content Management System ). CMS позволяет получить сайт с прототипом интерфейса и минимальной функциональностью сразу после установки или после определённой настройки, то есть вообще без программирования.

При этом большинство CMS предоставляют программисту как программный интерфейс CMF , так и интерфейс для расширения своей функциональности.

Для PHP разработано много фреймворков и CMS . Вы вполне можете начать работать с какими-то CMS , даже не имея понятия о веб-программировании. Наиболее популярными CMS являются WordPress , Joomla и Drupal .

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

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

В случае с Python , из множества фреймворков наиболее популярными являются Django и CherryPy . Они дают наиболее полный набор средств для веб-разработки « из коробки ».

Если вы решили заняться Ruby , то ваш выбор более очевиден: Rails является основным средством веб-разработки на этом языке, хотя существуют и другие, существенно менее популярные фреймворки.

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

Резюмируя сказанное:

  • PHP – лучший язык для создания динамических веб-страниц;
  • Python – универсальный язык программирования, при помощи которого можно делать любые приложения в диапазоне от интернет-сайтов и десктопных приложений до роботов и системных сервисов;
  • Ruby – наиболее высокоуровневый язык, позволяющий вам уделять меньше внимания деталям интерфейса и организации хранения данных, чтобы сосредоточиться на прикладной задаче.

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

Данная публикация представляет собой перевод статьи « PHP vs Ruby vs Python: Three Programming Languages in a Nutshell » , подготовленной дружной командой проекта Интернет-технологии.ру

Читать еще:  Как открыть mhtml документ

Введение в PHP

История PHP

Язык PHP был разработан как инструмент для решения чисто практических задач. Его создатель, Расмус Лердорф , хотел знать, сколько человек читают его online-резюме, и написал для этого простенькую CGI -оболочку на языке Perl, т.е. это был набор Perl- скриптов , предназначенных исключительно для определенной цели – сбора статистики посещений.

Для справки. CGI ( Common Gateway Interface – общий интерфейс шлюзов) является стандартом, который предназначен для создания серверных приложений, работающих по протоколу HTTP. Такие приложения (их называют шлюзами или CGI — программами ) запускаются сервером в режиме реального времени. Сервер передает запросы пользователя CGI — программе , которая их обрабатывает и возвращает результат своей работы на экран пользователя. Таким образом, посетитель получает динамическую информацию, которая может изменяться в результате влияния различных факторов. Сам шлюз ( скрипт CGI ) может быть написан на различных языках программирования – Cи/C++, Fortran, Perl, TCL , UNIX Shell, Visual Basic, Python и др.

Вскоре выяснилось, что оболочка обладает небольшой производительностью, и пришлось переписать ее заново, но уже на языке Си . После этого исходники были выложены на всеобщее обозрение для исправления ошибок и дополнения. Пользователи сервера , где располагался сайт с первой версией PHP , заинтересовались инструментом, появились желающие его использовать. Так что скоро PHP превратился в самостоятельный проект, и в начале 1995 года вышла первая известная версия продукта, называвшаяся Personal Home Page Tools (средства для персональной домашней страницы). Средства эти были более чем скромными: анализатор кода, понимающий всего лишь несколько специальных команд, и набор утилит, полезных для создания гостевой книги, счетчика посещений, чата и т.п.

К середине 1995 года после основательной переработки появилась вторая версия продукта, названная PHP/FI (Personal Home Page / Forms Interpreter – персональная домашняя страница/ интерпретатор форм). Она включала набор базовых возможностей сегодняшнего PHP , возможность автоматически обрабатывать html-формы и встраиваться в html-коды . Синтаксис PHP/FI сильно напоминал синтаксис Perl, но был более простым.

В 1997 вышла вторая версия Cи-реализации PHP – PHP/FI 2.0 . К тому моменту PHP использовали уже несколько тысяч человек по всему миру, примерно с 50 тыс. доменов, что составляло около 1% всего числа доменов Internet . Число разработчиков PHP увеличилось до нескольких человек, но, несмотря на это, PHP/FI 2.0 все еще оставался крупным проектом одного человека. Официально PHP/FI 2.0 вышел только в ноябре 1997 года, просуществовав до этого в основном в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0 .

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

Одной из сильных сторон PHP 3.0 была возможность расширения ядра. Именно свойство расширяемости PHP 3.0 привлекло внимание множества разработчиков, желающих добавить свой модуль расширения. Кроме того, PHP 3.0 предоставляла широкие возможности для взаимодействия с базами данных, различными протоколами и API . Немаловажным шагом к успеху оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП . С момента появления PHP 3.0 изменилась не только функциональность и внутреннее устройство языка, но и его название. В аббревиатуре PHP больше не было упоминания о персональном использовании, PHP стало сокращением (рекурсивным акронимом) от PHP : Hypertext Preprocessor , что значит » PHP : препроцессор гипертекста «.

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

Официально PHP 3.0 вышел в июне 1998 года, после 9 месяцев публичного тестирования. А уже к зиме Энди Гутманс и Зив Сураски начали переработку ядра PHP . В их задачи входило увеличение производительности работы сложных приложений и улучшение модульности кода, лежащего в основе PHP .

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

В настоящее время ведутся работы по улучшению Zend Engine и внедрению нововведений в PHP 5.0, первые бета-версии которого уже вышли в свет. Одно из существенных изменений произошло в объектной модели языка, ее основательно подлатали и добавили много новых возможностей. (Комментарий пользователя: Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML . Полностью переработаны функции ООП , которые стали во многом схожи с моделью, используемой в Java . В частности, введён деструктор , открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0. Шестая версия PHP разрабатывалась с октября 2006 года. Было сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php .ini. Одним из основных новшеств должна была стать поддержка Юникода. Однако в марте 2010 года разработка PHP6 была признана бесперспективной из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь , а основной линией разработки стала версия 5.4.)

Сегодня PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов написаны на PHP , что составляет более 20% доменов Internet .

Возможности PHP

» PHP может все», – заявляют его создатели. В первую очередь PHP используется для создания скриптов , работающих на стороне сервера , для этого его, собственно, и придумали. PHP способен решать те же задачи, что и любые другие CGI — скрипты , в том числе обрабатывать данные html-форм, динамически генерировать html страницы и т.п. Но есть и другие области, где может использоваться PHP . Всего выделяют три основные области применения PHP .

  • Первая область, как уже говорилось, – это создание приложений ( скриптов ), которые исполняются на стороне сервера . PHP наиболее широко используется именно для создания такого рода скриптов . Для того чтобы работать таким образом, понадобится PHP — парсер (т.е. обработчик php — скриптов ) и web-сервер для обработки скрипта , браузер для просмотра результатов работы скрипта , ну, и, конечно, какой-либо текстовый редактор для написания самого php -кода. Парсер PHP распространяется в виде CGI — программы или серверного модуля. Как установить его и web-сервер на свой компьютер, мы рассмотрим немного позднее. В этом курсе мы будем обсуждать, как правило, создание именно серверных приложений, как пример использования языка PHP .
  • Вторая область – это создание скриптов , выполняющихся в командной строке . То есть с помощью PHP можно создавать такие скрипты , которые будут исполняться, вне зависимости от web-сервера и браузера, на конкретной машине. Для такой работы потребуется лишь парсер PHP (в этом случае его называют интерпретатором командной строки ( cli , command line interpreter )). Этот способ работы подходит, например, для скриптов , которые должны выполняться регулярно с помощью различных планировщиков задач или для решения задач простой обработки текста.
  • И последняя область – это создание GUI -приложений (графических интерфейсов), выполняющихся на стороне клиента. В принципе это не самый лучший способ использовать PHP , особенно для начинающих, но если вы уже досконально изучили PHP , то такие возможности языка могут оказаться весьма полезны. Для применения PHP в этой области потребуется специальный инструмент – PHP-GTK , который является расширением PHP .

Итак, область применения PHP достаточно обширна и разнообразна. Тем не менее существует множество других языков программирования, способных решать похожие задачи. Почему стоит изучать PHP ? Что это нам дает? Во-первых, PHP очень прост в изучении. Достаточно ознакомиться лишь с основными правилами синтаксиса и принципами его работы, и можно начинать писать собственные программы , причем браться за такие задачи, решение которых на другом языке требовало бы серьезной подготовки.

Во-вторых, PHP поддерживается почти на всех известных платформах, почти во всех операционных системах и на самых разных серверах . Это тоже очень важно. Вряд ли кому-то захочется переходить, например, от работы под Windows к работе под Linux или от сервера IIS к серверу Apache только для того, чтобы изучить еще один язык программирования .

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

Читать еще:  Посчитать количество дней между датами php

Если говорить о возможностях сегодняшнего PHP , то они выходят далеко за рамки тех, что были реализованы в его первых версиях. С помощью PHP можно создавать изображения, PDF -файлы, флэш-ролики, в него включена поддержка большого числа современных баз данных, встроены функции для работы с текстовыми данными любых форматов, включая XML , и функции для работы с файловой системой. PHP поддерживает взаимодействие с различными сервисами посредством соответствующих протоколов, таких как протокол управления доступом к директориям LDAP , протокол работы с сетевым оборудованием SNMP , протоколы передачи сообщений IMAP , NNTP и POP3 , протокол передачи гипертекста HTTP и т.д.

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

Для работы с текстовой информацией PHP унаследовал (с небольшими изменениями) механизмы работы с регулярными выражениями из языка Perl и UNIX -систем. Для обработки XML -документов можно использовать как стандарты DOM и SAX , так и API для XSLT -трансформаций.

Для создания приложений электронной коммерции существует ряд полезных функций, таких как функции осуществления платежей Cybercash , CyberMUT , VeriSign Payflow Pro и CCVS .

Язык программирования PHP: от истоков до современности

Ему ежегодно пророчили исчезновение из-за невостребованности. Но спустя годы он по-прежнему в топе. Встречайте самый распространенный язык — PHP.

Что за язык PHP и почему он так популярен

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

Со временем к работе над ним подключились разработчики со всего мира. PHP — один из старейших языков в рамках open source-проекта Open source-проект Программное обеспечение с открытым исходным кодом. . Сейчас его поддерживает и разрабатывает группа энтузиастов во главе с компанией Zend Technologies. Ей руководят Зеев Сураски и Энди Гутманс: в 1997 году они создали третью версию PHP и активно развивают язык по сегодняшний день.

Первое свойство: интерпретируемость

Главная характеристика PHP — интерпретируемость. В отличие от Java, которая компилируется, а затем запускается в работу, PHP создается во время обращения к нему. Человек открывает сайт, на сервер посылается запрос, и в это время компилируется код. Каждый скрипт компилируется в реальном времени, а затем выполняется.

Приводим пример кода:

class Application <
protected $_image = null ; // файл, с которым нужно работать

/**
* метод сохраняет файл на диск
*
* [ >@param] string $path — путь к файлу новый
* [ >@param] srting $imagePath — путь старый
* [ >@return] boolean
*/
public function saveFile( $imagePath, $path)<

$result = file_get_contents ($imagePath, $path);

$newNameDir = ‘files/’.$nameDir[ 1 ] . ‘/’ .$nameDir[ 2 ] . ‘/’ .$nameDir[ 3 ];
mkdir ($newNameDir, 0777, true );

$resultWrite = file_put_contents($path, $result);
return $resultWrite;
>
>

Благодаря этому свойству PHP — очень гибкий язык. Например, Java-программист вводит название класса один раз — теперь оно неизменно. PHP же компилируется в рантайме Runtime Среда выполнения компьютерной программы. и можно подставить любое название класса из переменной.

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

Второе свойство: динамическая типизация

Языки программирования бывают:

1) со статической типизацией;

2) с динамической типизацией.

В первом случае тип переменной определен жестко и заранее. Если это число, программист напишет тип int. Если строка — string. Во втором случае переменная может быть одновременно числом, строкой, массивом, объектом — чем угодно. Одной переменной можно присвоить число, затем массив, объект — и язык программирования это позволит. PHP относится ко второй группе.

Но есть проблема

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

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

Обзор версий: между первой и седьмой

Версии с первой по третью были «сырыми»: мало возможностей, хотя для создания простых сайтов их хватало. С версии 5.4 PHP стал отлаженной технологией. До этого было слишком много нюансов, и работать с ними было непросто.

Релизы 5.5 и 5.6 — серьезные, проверенные временем вещи. Они отлично себя показали и достаточно защищены от инъекций Dependency injection «Вживление» чужого вредоносного кода в программу. и возможностей взлома.

Шестую версию пропустили: она должна была поддерживать 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-разработчик», где вы прокачаете свой уровень с нулевого до профессионального.

Ссылка на основную публикацию
Adblock
detector