PHP — что это такое и как использовать PHP? PHP: базовые понятия языка Год появления языка программирования php

От автора: необходимо ли знать язык программирования PHP? Если собираетесь связать свою судьбу с сайтостроением, то придется. Даже если очень не хочется! Почему так? На все распространенные «почему», связанные с этим языком, мы попытаемся ответить в нашем материале.

Раствор, который «скрепляет» интернет

Именно так охарактеризовал PHP один мой знакомый, занимающийся созданием интернет-ресурсов уже более десятка лет. И он прав, наверное, процентов на 200% (а может и больше).

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

Доказывать роль PHP в создании интернет – вещь неблагодарная. Тут, как говорится, могут начать выступать сторонники других серверных языков. Мол, «препроцессор гипертекста» (так расшифровывается аббревиатура PHP) уже отжил свое. Многие из его функций реализованы даже в …

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

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

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

Собственные грабли

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

Как язык программирования PHP для начинающих я не рассматривал в принципе. Он казался чересчур запутанным. Вот другое дело ASP.NET: коммерческий язык, основанный на C#. Ох, какие воздушные замки я тогда строил! И для этого были все предпосылки:

Технология разработана таким «гигантом мысли», как Microsoft.

Наличие специализированного ПО – мощного редактора Visual Studio.

Обширная и хорошо описанная документация.

Надежда на «здоровое» будущее.

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

А вот язык программирования PHP с нуля мне сразу не дался. Честно, я пытался с ним подружиться (надо же было, как-то сдавать экзамен). Но при изучении его основ он показался мне черствым и даже холодным.

В общем, занялся я ASP.NET. Состряпал первый свой сайтик. Ну, в среде разработки вроде все функционирует. Кроссбраузерность проверил в нескольких популярных браузерах. Думаю, пришло время и «повоевать». Так сказать, показать свое «детище» всей стране (как минимум). Вот тут и оказались» грабли».

Мои попытки найти в Рунете хостинг с поддержкой ASP.NET так и не увенчались успехом. Было, конечно, несколько платных площадок, но цены за размещение на них сайта были явно не «студенческие».

Кое-как нарыл я в «Буржунете» бесплатный вариант хостинга (кстати, спонсируемого Microsoft). Ну «поклацал», насладился широтой своей мысли, а дальше дело не пошло. И все из-за того, что большая часть сайтов уже тогда делалась на PHP.

После того, как определитесь и точно поймете, что готовы изучать PHP язык программирования, поищите самоучитель для новичков «под себя». Главное, чтобы вы понимали, что автор издания хочет донести своим читателям. Сразу приготовьтесь «отвалить» хорошую сумму за качественную литературу.

Но лучше применять комплексный подход – добавить еще и толковый . Это позволит оттачивать свое умение сразу на практических примерах. И мой вам совет – поменьше занимайтесь копипастом кода! Почему, сейчас поясню.

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

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

Ну, на сегодня разрешите откланяться. Простите (если что) за излишнюю обзорность содержания статьи, но это нужно для понимания особенностей данного языка (все-таки серверный). Желаю вам быстрее постичь основы языка программирования 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 может принести большую пользу и множество перспектив человеку, изучающему сайтостроение, особенно тем, кто хочет сделать создание сайтов своим основным видом деятельности и зарабатывать на этом.

© Андрей Кухарчик
Компьютерная газета

Введение

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

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

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

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

История РНР

Начинать нужно всегда с самого простого, и сейчас я попробую познакомить Вас с программированием на скриптовом языке РНР. РНР (читается как пи-эйч-пи) появился на свет осенью 1994 года, и его создатель - Расмус Лердорф - использовал язык в своих целях, для того, чтобы иметь представление о тех людях, которые посещают его сайт и знакомятся с его резюме.

По словам автора, РНР был написан буквально за день в промежутках между деловыми встречами. Сначала это была просто невзрачная CGI-оболочка, написанная на языке Perl, и служила она исключительно для специфических целей. Для справки - СGI (Common Gateway Interface) - общий шлюзовой интерфейс, является стандартом, который предназначен для создания серверных приложений HTTP.

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

Таким образом, посетитель получает динамическую информацию, которая может изменяться в результате влияния различных факторов. Сам шлюз (скрипт CGI) может быть написан на различных языках программирования - C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script и других подобных языках. Но в случае с РНР, для написания его в первоначальном варианте был выбран язык Perl, как наиболее простой и доступный.

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

Сегодня РНР - это мощный кроссплатформенный набор средств, который располагается на сервере и предназначен для обработки специального кода, встраиваемого в HTML-страницу. Благодаря этому, появляется возможность легко создавать динамические сайты. Файлы, созданные таким образом, хранятся и обрабатываются на сервере, и когда посетитель запрашивает документ с РНР, скрипт обрабатывается не браузером посетителя, как, например, Java Script, а сервером, и посетителю передаются уже только результаты работы. Точно так же работает CGI-программа, написанная на С или Perl. Но, в отличие от CGI, код РНР можно встраивать в любое место HTML-странички, что является основным преимуществом по отношению к CGI. А кроме того, сам язык РНР очень прост для изучения и не требует каких-либо специфических знаний. Например, лично мне вполне хватило опыта, приобретенного лет десять назад на уроках информатики в школе, где мы изучали язык Бейсик на очень модных и дорогих тогда Ямахах. Несмотря на столь радужную характеристику, есть у РНР и недостатки. Стоит отметить довольно медленную (по сравнению с программами на CGI) работу скриптов РНР, а также сложность написания больших и сложных программ. Так или иначе, РНР остается интерпретируемым языком, что непременно ведет к ухудшению производительности в случае очень больших и сложных программ, но, для выполнения несложных манипуляций на сайте, РНР - лучший выбор. Недаром к середине 2000 года РНР использовался более чем на 2,5 миллионах сайтов!

Особенности РНР

Как и у всякого языка программирования, у РНР есть свой синтаксис. Он очень похож на синтаксис языка С или Perl. Программисты, пишущие на этих языках, смогут освоить РНР буквально за несколько дней. Но даже если Вы никогда не программировали, РНР поддастся Вам легко и обеспечит базу для перехода на языки более сложного уровня. Все команды достаточно логичны, а правила просты. Синтаксис включает в себя операторы, разделенные между собой точкой с запятой. Одна из основных ошибок начинающих программистов - отсутствие точки с запятой между операторами. К счастью, ошибки в РНР по умолчанию выдаются на экран (в отличие от CGI, где все ошибки записываются в лог-файл), и найти их при определенной внимательности и опыте не составит большого труда. Тем более что умный интерпретатор подскажет номер строки, в которой произошла ошибка.

Для программирования на РНР Вам понадобится любой текстовый редактор, но для удобства он должен обеспечивать подсветку синтаксиса и нумерацию строк. Я использую CuteHTML, входящий в комплект поставки неплохого FTP-менеджера CuteFTP последних версий. Редактор очень удобный, без лишних ненужных функций, сам встраивается в контекстное меню, не требует инсталляции и имеет все необходимое для программирования. Еще нам понадобится комплект для работы с РНР. Как правило, используется Apache+PHP, хотя это и не обязательно, подходит любой сервер, например IIS Microsoft. Но первый вариант бесплатен и имеет большую поддержку документацией (в том числе на русском языке) и форумами, где можно выяснить любой вопрос.

Теперь давайте перейдем к делу - напишем наш первый скрипт. Для того чтобы сервер знал, в каком из файлов есть код РНР, его расширение (файла) нужно сделать либо phtml, либо php3, либо php. Строго говоря, может быть назначено любое расширение, но я рекомендую Вам в целях совместимости всегда использовать phtml. Каждая команда в РНР как правило начинается с "" (здесь и далее без кавычек). Как Вы помните, несколько команд разделяются точкой с запятой. В любом месте скрипта РНР можно поставить комментарий, начинается он с "/*", а заканчивается - "*/" Если комментарий маленький и занимает только одну строчку, можно поставить "//" и таким образом легко закомментировать любую строчку до ее конца. Как обычно, пробелы, символы табуляции и перевод строки просто игнорируются и могут применяться для улучшения читабельности кода РНР.

Вывод на экран и переменные в РНР

РНР очень легко позволяет организовать вывод текста на экран. Рассмотрим пример скрипта:

Этот скрипт может быть расположен в любом месте HTML-документа, и сам по себе он не несет ничего полезного, так как только выводит на экран фразу "Привет, мир!". Но таким образом мы знакомимся с одной из наиболее распространенных команд РНР - вывод информации на экран пользователя. Для того чтобы придать нашему скрипту полезные функции, давайте познакомимся с переменными. Переменная характеризуется именем, типом и значением. Имя может быть любым и включать в себя цифры, буквы английского алфавита и разрешенные символы (например, символ подчеркивания или тире). По типу переменные делятся на целые, с плавающей запятой и символьные. Значение в соответствии с типом может быть практически любым. Например, переменная a=5. Это говорит нам о том, что имя у переменной - а, тип - целочисленный, значение - 5. Вот еще примеры имен и значений:

Как видите, все переменные в РНР (но не только в нем) должны начинаться с символа $, что позволяет интерпретатору безошибочно отличать их от команд РНР. В первой строчке нашего скрипта переменной $name присваивается значение 6, и эта переменная автоматически становится целочисленной. Кстати говоря, заранее описывать тип переменной не требуется, как в языках Pascal или Visual Basic, но хотя разделение на типы чисто условное, каждая переменная автоматически стремится использовать правильный тип, соответственно значению. Вторая строчка кода присваивает переменной $h12 значение 4.89, которое является значением с плавающей запятой. Третья и четвертая строчки кода присваивают своим переменным значения, являющиеся символьными строками. Все, что заключено в кавычки (включая цифры), будет интерпретировано как символьная строка. Если переменные не определены ранее, но используются, их значение принимается равным либо нулю, либо пустой строке в зависимости от типа.

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

Результат работы скрипта - вывод на экран цифры 4. Поддерживаются все арифметические операции и функции, многоуровневые скобки, логические операции, операции увеличения или уменьшения на единицу и многое другое. Кроме того, очень просто и естественно организуется сравнение если - то - иначе. Для этого в РНР применяется конструкция if () { } else { }. Есть различные варианты синтаксиса этого оператора, но этот - основной, и самый логичный из всех. (если) if (условие) (то) { выполняется то, что заключено в кавычки } (иначе) else { выполняется то, что заключено в кавычки }. После кавычек ставить точку с запятой, как обычно между операторами, не обязательно. Но внутри кавычек - разделение операторов между собой проводится только через точку с запятой. Допускается вложение нескольких операторов проверки один в один. В этом случае надо быть очень внимательным к количеству закрывающих кавычек, так как при отсутствии даже одной интерпретатор выдаст ошибку кода. Рассмотрим несложный пример:

При сравнении на истину применяется два знака равенства для того, чтобы интерпретатор мог без труда отличить сравнение от присваивания. Результат работы скрипта - 95, т.к $a не равно $b, а команда echo $b.$a; (между переменными стоит точка, а не знак арифметической операции) выводит подряд указанные переменные. Неравенство (ложь) обозначается символами!=, допустимы все остальные арифметические и логические символы и операторы (например, or, and, >, <= и т.д.).

В РНР есть средства быстрого изменения переменной на единицу в сторону увеличения или уменьшения. Для этого нужно указать имя переменной и за ним, без знака равенства, - подряд два плюса или минуса соответственно. Например, $a++; - переменная $a будет увеличена на единицу. Поддерживается одновременное присваивание одного значения нескольким переменным - $a = $b = 4;. Обе переменных будут равны четырем. Вот еще несколько примеров нестандартых арифметических операций в РНР:

Вложения файлов в РНР

Каждый, кто сделал хоть одну страничку в сети, сталкивался с проблемой изменения тех или иных данных на ней. Конечно, это не сложно когда страничек несколько или она одна:-), но если Вы сделали большой сайт, маленькое дополнение (например, в меню) в сотни файлов может превратиться в настоящий кошмар! РНР решает эту проблему в раз, позволяя вкладывать одну страницу в другую. Достигается это с помощью операторов REQUIRE и INCLUDE. После этих операторов в круглых скобках должен стоять путь к вкладываемому файлу. Например, INCLUDE ("text.phtml"). Различие между указанными операторами заключается в том, что REQUIRE подменяется содержимым указанного файла и может быть использован только один раз, а INCLUDE - вставляет и выполняет содержимое указанного файла, что позволяет применить его несколько раз, например в цикле. В любом случае, при исполнении файла интерпретатор РНР (правильно говорить - парсер) пребывает в состоянии HTML, и для его включения код надо заключить в конструкцию . Вложения файлов могут происходить только внутри серверного пространства, доступного РНР. Другими словами, Вы не можете использовать в имени файла http://

Достаточно часто встречаются сайты, ссылки которых включают в себя специальные символы - &, ?, %. Все это может быть и результатом работы РНР. Дело в том, что если в конце ссылки добавить?имя=значение, это значение будет доступно под этим же именем в файле, куда указывает ссылка. Если необходимо добавить несколько имен, они могут быть разделены знаком &. Теперь мы можем сделать сайт, который будет доступен с помощью только одной странички. А всю остальную информацию эта страничка будет выводить на основании полученных по ссылке данных. Вид такой ссылки будет примерно таким: http://имя.ru/index.phtml?link=1. Единица в конце ссылки и есть наш параметр, который будет подставляться в файле index.phtml. Например, вот так:

…начало файла … … конец файла …

Обратите внимание, написанный нами код учитывает ситуацию, когда посетитель по разным причинам указал неправильный параметр. В этом случае выводится заранее заготовленная страничка с сообщением об ошибке. Если же параметр соответствует какому-либо из файлов сайта, он в код файла index.phtml вкладывается и исполняется. Таким образом, начало и конец остаются одинаковыми, а изменяется только середина. И какие-либо изменения уже не кажутся такими страшными, как раньше. Ведь сделать их надо только в одном файле, а отразится это на всем сайте.

Есть и другой путь. Его суть заключается в том, что у РНР есть доступ к так называемым переменным окружения сервера. Одна из этих переменных - запрашиваемый посетителем путь относительно адреса сайта. И этот путь становится нам доступен для использования. В этом случае ссылки у нас будут такого вида: http://имя.ru/index.phtml?patch/name.phtml. Вторая часть ссылки - patch/name.phtml - будет нам доступна, если мы считаем параметр $QUERY_STRING. Например, так: $add = $QUERY_STRING. Теперь изменим наш головной файл index.phtml, чтобы все работало автоматически. А если запрашиваемый параметр не будет указан (правильно говоря - будет равен пустой строке), чтобы что-то открыть, присвоим переменной $add имя файла, который должен быть открыт как главная страничка. Пусть это будет файл main.phtml. Тогда код будет выглядеть следующим образом:

…начало файла … … конец файла …

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

Пример счетчика посещений на РНР

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

Посетителей странички -

В том же каталоге, что и Ваша страничка, создайте файл counter.dat, закачайте его на сервер и с помощью своего FTP-менеджера измените атрибуты этого файла таким образом, чтобы он был доступен для записи. Обычно нужно установить галочки на всех атрибутах файла. Если Вы этого не сделаете, скрипт будет постоянно выдавать ошибку при попытке записи в файл. Кстати, для того чтобы этого не происходило, стоит поставить перед командой записи и открытия файла символ @, он отменит вывод сообщения о возникшей ошибке на экран посетителя. Когда атрибуты изменены, обновите Вашу страницу на сервере и обратитесь к ней по ее адресу в браузере. Вы увидите, что там, где Вы вставили код РНР, появляется строка: "Посетителей странички - " и далее число, соответствующее количеству посещений. И никакого следа кода! Он был обработан на сервере в Интернете, а браузеру просто передан результат этого исполнения.

Алгоритм этого скрипта очень прост. В первой строке мы присваиваем выбранной переменной имя файла, где будет храниться число посещений. Во второй - открываем соединение с этим файлом для чтения. Дальше проверяем успешность соединения, и если файл существует и он доступен для чтения, считываем из него строку из 10 байт, чего более чем достаточно для счетчика, и закрываем соединение с файлом. Увеличиваем показание счетчика на единицу и выводим его новое значение на экран. На следующем этапе нам нужно записать новое значение счетчика, и для этого мы снова открываем соединение (дескриптор) с файлом, но уже на запись с очисткой содержимого файла. Если оно успешно - записываем туда новое значение счетчика и закрываем дескриптор файла. Вот и все.

На этом наше первое знакомство с языком РНР будем считать законченным. Конечно, осталось еще очень много полезного и интересного, но, к сожалению, все сразу охватить невозможно. Впрочем, для того и придумали умные люди Сеть, чтобы сделать доступным недоступное. В Интернете есть очень много полезных ресурсов на тему РНР, и при минимальных навыках работы в поисковиках Вы без труда отыщите их. А я посоветую Вам подписаться на рассылку РНР для всех!, в которой регулярно раз в неделю появляются новые статьи, примеры скриптов, есть раздел вопросов-ответов, а также много другой полезной информации. Найти форму для подписки и подписаться можно по адресу в сети .

Там же выложены все предыдущие выпуски рассылки. А по адресу Вы сможете посмотреть, как все это работает в действии. Все, что Вы встретите на этом сайте, - сделано на РНР. Чат, форум, частные объявления, система статистики - это только малая часть тех возможностей, что дает нам программирование на языке РНР.

«СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА №5»

Исследовательская работа на тему:

«Язык Web-программирования - PHP»

Выполнил: учащийся

9 «А» класса

Рябов Артем

Педагог: Абдразакова А.К.

ВВЕДЕНИЕ………………………………………………………………………………….…...3

Глава 1. Вступление в PHP и MySQL………………………..……………..…….………….5

1.1. Что такое PHP?.………………………………………………………………………5

1.2. Возможности PHP…………………………………………………………………….5

1.3. Краткая история PHP……….…...…………………….……………………...…......6

1.4. Почему нужно выбирать PHP ………………………………………………………7

1.5. Что такое MySQL ……………………………………………………………………..7

1.6. Возможности MySQL…………………………………………………………………8

Глава 2. Примеры использования PHP……………………………………………………...9

2.1. Работа с формами……………………………………………………………………..9

2.2. Работа с MySQL (сохранение данных в базе данных)...…………………………11

2.3. Работа с MySQL (получение данных из базы данных).…………………………13

ЗАКЛЮЧЕНИЕ………………………………………………………………………..……….15

БИБЛИОГРАФИЧЕСКИЙ СПИСОК …………………………………………………...…16

ПРИЛОЖЕНИЯ………………………………………………………………………………...17

Введение

PHP - язык программирования, используемый на стороне WEB-сервера для динамической генерации HTML-страниц. Об этом говорит и расшифровка его названия: PHP - Personal HyperText Processor.

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

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

PHP не зависит от платформы. PHP прекрасно интегрируется во все популярные веб-серверы: Apacce и IIS, Zens и Netscape Enterprise Server, работает под Windows и OS/2, MacOS и практически всеми UNIX-подобными системами. Как следствие - PHP работает практически у всех хостеров, разрешающих собственные выполняемые скрипты.

Замечательная особенность PHP - его интегрированность практически со всеми современными интернет-технологиями. PHP поддерживает большинство современных веб-протоколов: IMAP, FTP, POP, XML, SNMP и другие. PHP прекрасно работает с базами данных. Трудно найти СУБД, поддержка которой не была бы реализована в PHP. MySQL и MS SQL Server, PostgreSQL и Oracle, Sybase и Interbase... Один только перечень баз данных, поддерживаемых PHP, займет, наверное, целый экран.

PHP включает в себя огромное количество встроенных функций: обработки строк и массивов, работы с файловой системой и с HTTP, электронной почтой, датой и временем, кириллицей и другими национальными алфавитами... Когда я впервые начал программировать на PHP, то был просто поражен обилием встроенных функций! Благодаря им многие алгоритмы, требующие в большинстве языков написания программного кода размером в несколько экранов, реализуются на PHP одной командой (точнее, вызовом одной функции).

Современные тенденции развития языков программирования не обошли стороной и PHP. Средства объектно-ориентированного программирования появились еще в PHP3. А в объектной модели PHP4 в полном объеме реализованы классические понятия объектно-ориентированного программирования: наследование, инкапсуляция и полиморфизм.

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

Цель исследования – Изучить и посмотреть примеры выполнения скриптов PHP

Объект исследования –Язык PHP, Базы данных MySQL.

Предмет исследования – функциональное значение и актуальность языка.

Гипотеза исследования состоит в том, что данный язык очень простой, легко интегрируется в HTML, в связке PHP+MySQL+HTML намного превосходит простой HTML.

Исходя из гипотезы, сформированы следующие задачи :

Задачи:

Изучить особенности и возможности языка PHP;

Сравнить функционал PHP и HTML;

Познакомиться с базами данных MySQL;

Обработать полученные результаты, сделать выводы.

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

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

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

Структура и содержание работы включают:

Вводную часть, в которой обоснован выбор и актуальность темы.

Глава 1. «Вступление в PHP и MySQL» содержит 6 разделов. В первом разделе идет объяснение, что такое PHP. Во втором описаны его возможности. В третьем разделе главы описывается история языка PHP. В четвертом - сказано почему стоит выбирать именно этот язык программирования. Пятый и шестой разделы посвящены информации о базах данных MySQL.

Глава 2. «Примеры использования PHP» состоит из 3 разделов. В первом разделепоказано как в PHP легко обрабатывать данные с HTML – форм. Во втором мы будем заносить информацию в базу данных. В третьем разделе будем получать информацию из баз данных.

Заключение содержит основные выводы по теме, подтверждающие выдвинутую гипотезу исследования.

Глава 1. Вступление в PHP и MySQL

1.1. Что такое PHP?

PHP – это скрипт-язык (scripting language), встраиваемый в HTML, который интерпретируется и выполняется на сервере. Проще всего это показать на примере:

Пример

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

Hi, I"m a PHP script! (см. приложение 1)

Весьма просто и бесполезно.

Основное отличие от CGI-скриптов, написанных на других языках, типа Perl или C – это то, что в CGI-программах вы сами пишете выводимый HTML-код, а, используя PHP – вы встраиваете свою программу в готовую HTML-страницу, используя открывающий и закрывающий теги (в примере ).

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

Любители Internet Information Server найдут, что PHP очень похож на Active Server Pages (ASP), а энтузиасты Java скажут, что PHP похож на Java Server Pages (JSP). Все три языка позволяют размещать код, выполняемый на Web-сервере, внутри HTML страниц.

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

В нескольких словах – на PHP можно сделать все, что можно сделать с помощью CGI–программ. Например: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать куки (cookies).

Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым.

Вот неполный перечень поддерживаемых БД:

Adabas D InterBase Solid
dBase mSQL Sybase
Empress MySQL Velocis
FilePro Oracle Unix dbm
Informix PostgreSQL

Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим протоколам.

1.3. Краткая история PHP

Началом PHP можно считать осень 1994 года, когда Расмус Лердорф (Rasmus Lerdorf) решил расширить возможности своей Home-page (Домашней страницы) и написать небольшой движок для выполнения простейших задач. Такой движок был готов к началу 1995 года и назывался Personal Home Page Tools. Умел он не очень много – понимал простейший язык и всего несколько макросов.

К середине 1995 года появилась вторая версия, которая называлась PHP/FI Version 2. Приставка FI – присоединилась из другого пакета Расмуса, который умел обрабатывать формы (Form Interpritator). PHP/FI компилировался внутрь Apache и использовал стандартный API Apache. PHP скрипты оказались быстрее аналогичных CGI – скриптов, так как серверу не было необходимости порождать новый процесс. Язык PHP по возможностям приблизился к Perl, самому популярному языку для написания CGI-программ. Была добавлена поддержка множества известных баз данных (например, MySQL и Oracle). Интерфейс к GD – библиотеке, позволял генерировать картинки на лету. С этого момента началось широкое распространение PHP/FI.

В конце 1997 Зээв Сураски (Zeev Suraski) и Энди Гутманс (Andi Gutmans) решили переписать внутренний движок, с целью исправить ошибки интерпретатора и повысить скорость выполнения скриптов. Через полгода, 6 июня 1998 года вышла новая версия, которая была названа PHP 3. К лету 1999 года PHP 3 был включен в несколько коммерческих продуктов. По данным NetCraft на ноябрь 1999 PHP использовался в более чем 1 млн. доменах.

1.4. Почему нужно выбирать PHP

Разработчикам Web-приложений нет необходимости говорить, что web-страницы - это не только текст и картинки. Достойный внимания сайт должен поддерживать некоторый уровень интерактивности с пользователем: поиск информации, продажа продуктов, конференции и т.п. Традиционно все это реализовалось CGI-скриптами, написанными на Perl. Но CGI- скрипты очень плохо масштабируемы. Каждый новый вызов CGI, требует от ядра порождения нового процесса, а это занимает процессорное время и тратит оперативную память. PHP предлагает другой вариант – он работает как часть Web-сервера, и этим самым похож на ASP от Microsoft.

PHP - это HTML встроенный скриптовый язык программирования общего назначения, часто используется в разработке веб-приложений. Является одним из лидеров среди языков программирования, применяющихся для создания динамических вебсайтов. Изначально название языка расшифровывалось как «Personal Home Page» (личная web-страница), однако потом оно стало рекурсивным акронимом (сокращение, в котором используется само сокращённое название), означающим «PHP: Hupertext Preprocessor» (PHP, препроцессор гипертекста).

История появления и развития языка

Давным-давно сайты были статичны, состояли из готовых страничек , объединенных гиперссылками. Но для внесения правок в материалы или их добавления нужно было дописывать и переписывать эти страницы, что часто вело к тому, что приходилось вручную переделывать весь сайт. Затем ситуацию поправил CSS и клиентские скриптовые языки, которые позволили внести в браузер немного динамики. Появились активное меню, более сложные структуры, «всплывающие» окна и т.д. А автоматическим созданием страниц со стороны сервера занимались CGI-программы (скрипты).

  • В 1994 году датский программист Расмус Лердорф написал набор этих самых скриптов на Perl/CGI, которые могли обрабатывать шаблоны на основе HTML-документов. В дальнейшем именно эти скрипты воплотились в интерпретатор языка программирования PHP, который позволял решать разнообразные задачи веб-приложений, а главное на нём можно было написать полноценный динамический сайт, но это было позже. А в начале Лердорф сделал несколько простых сценариев для своих нужд, которые позволяли определять, кто посещает веб-страницу. Но время шло и росла численность веб-разработчиков, которые интересовались использованием серверных сценариев для создания динамического контента. И весной 1995 года Расмус обнародовал первую версию PHP, которая по своей сути была набором серверных утилит и макросов. Далее летом этого же года появилась вторая версия PHP/FI 2.0 и набор утилит превратился в язык программирования PHP, который получил широкое распространение. Основным заданием этого языка была минимизация объёма создаваемого кода, необходимого для получения результата, в результате это привело к тому, что PHP стал HTML-ориентированным языком, код PHP стал встраиваться в разметку HTML.
  • Версия PHP 3 появилась в 1997 году, благодаря израильским программистам Зеву Сураски и Энди Гатмансу, которые полностью переписали PHP и разрешили многие его проблемы, определили современный облик и стиль языка. Эту версию могли легко дописывать другие разработчики, у программистов появилась возможность писать свои собственные модули, расширяя функциональность PHP. Что позволило работать с набором баз данных и поддерживать большое количество различных API. Эта версия имела некоторые задатки объектно-ориентированного подхода, что вызвало интерес и привлекло новых пользователей языка.
  • В 2000 году появился PHP 4, к этому моменту, он был установлен задействован в 2,5 миллионах вебсайтов, сравните с 250 тыс. всего 18 месяцами ранее. Целью создания новой версии было улучшение модульности кода и увеличение производительности сложных приложений. Как результат новая версия содержала много крупных изменений, включая новый движок Zend Engine (от имён создателей, Зив и Энд) и это было наиболее революционное обновление во всей истории языка. Была введена абстракция для веб-сервера, что позволило PHP работать на серверах Apache, Microsoft IIS, Zeus, AOLServer и других. Изменился способ выполнения кода: код стал читается один раз и потом преобразовывается во внутренний формат, а далее уже выполняется. Это позволило использовать технологии кэширования (PHP-акселераторы), которые существенно увеличивали производительность.

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

РНР обладает открытым исходным кодом и распространяется бесплатно, если у вас есть желание взглянуть на исходники языка – они публично доступен на GitHub .

Особенности PHP

  • Динамичность веб-проектов. Одна из базовых возможностей РНР это встраиваемость в HTML разметку страницы и ее модификация, что позволяет «собирать» на базе одной страницы полновесные вебсайты.
  • Открытость. РНР это доказательством существования бесплатного сыра. Версия интерпретатора всегда доступна на GitHub .
  • Универсальность. PHP кроссплатформенный язык программирования, его можно использовать на разных операционных систем.
  • Простота использования. Синтаксис РНР очень прост для понимания и использования даже для непрограммистов. При этом язык обладает большим количеством возможностей, и может быть использован как шаблонизатор.
  • Техническая поддержка. Вы можете посетить официальную веб-страницу РНР (http://php.net/), где предлагается обширный список тем для обсуждения и содержится полная документация по языку с примерами.
  • Персонализация. Открытость РНР позволяет программистам модифицировать программное окружение на уровне ядра интерпретатора, добавлять или изменять его функциональность, необходимую для решения нетривиальных задач. Кроме того РНР обеспечивает достаточный контроль над окружением, позволяя уменьшить вероятность ошибок.
  • Безопасность. Если ваш РНР скрипт разработан правильно, то его программный код будет известен только вам и не будет возможностей его модифицировать извне.
  • Нестрогая типизация. Техническая особенность языка, в PHP не требует обязательного объявления типов данных в начале программы, как другие языки программирования.
  • Множество текстовых операторов. В PHP на ряду с возможностью использования регулярные выражения для работы со строками существует великое количество различных текстовых позволяющих искать вхождения в тексте, вырезать фрагмент из текста и делать много других операций с текстовыми значениями.

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