Тарифы Услуги Сим-карты

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

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

Используется он для создания веб-проектов. Может использоваться прямо в HTML коде. И хотя результат работы скрипта часто выводится непосредственно в браузере клиента, для работы PHP не достаточно только одного браузера. То-есть вам не получится запустить index.php файл прямо в браузере, как вы уже наверняка делали с файлом index.html. Для работы PHP сценариев и веб-страниц созданных с применением PHP потребуется веб-сервер.

Если у вас еще нет хостинг площадки для вашего сайта, тогда рекомендую поэкспериментировать с PHP сценариями на локальном сервере, предназначенном для тестирования проектов. Для организации локального сервера в операционной системе Windows (WAMP, Windows-Apache-MySQL-PHP) могут быть полезны пакеты: Денвер, XAMPP, AppServ, OpenServer и т.д. После установки этих пакетов, вы получите уже настроенный и готовый к использованию сервер, а управляться он будет через удобное меню самой программы. Также, существуют и отдельные реализации APACHE, MySQL и PHP для операционной системы Windows, но настраивать их придется уже самостоятельно через конфигурационные файлы и не будет никакого меню с галочками. Для запуска, перезапуска и остановки такого сервера можно будет использовать пакетные файлы *.bat или *.cmd (батник) с командами запуска, перезапуска или остановки служб APACHE и MySQL. Третий и самый непростой для новичка вариант — это виртуальная машина с установленной и настроенной операционной системой Linux (LAMP, Linux-Apache-MySQL-PHP). Готовые образы таких «виртуалок» часто встречаются в Интернете, так что вам могут понадобиться только знания настройки программ типа VirtualBox или VMware.

Подготовка к программированию на языке PHP для чайников

  1. PHP код следует помещать в файле index.php, сам файл должен быть размещен в корневом каталоге сайта, расположенного на веб-сервере.

  1. Весь код на языке PHP должен быть заключен между дескрипторами или сокращенный вариант , но веб-сервер может быть не сконфигурирован для использования сокращенного варианта такой записи, поэтому предпочтителен первый вариант.
  2. Вставлен PHP код может быть в любое место HTML кода.
  3. Комментирование в PHP коде осуществляется следующим образом:
// однострочный комментарий # еще один вариант однострочного комментария /* многострочный комментарий */
  1. Для того, чтобы посмотреть ваш код, откройте веб-браузер и в адресной строке введите: http://localhost/www/MyEX/index.php

Вывод данных на экран с помощью языка PHP для чайников

  1. Вывод данных в окно (клиентскую область веб-браузера) с помощью PHP можно выполнить посредством оператора echo. Этот оператор позволяет вывести данные различных типов: числа, символьные строки и т.д.
  2. Синтаксис оператора вывода:
echo элемент1, элемент2, элемент3, ..., элементN
  1. Строковые данные заключаются в двойные или одинарные кавычки. В двойных кавычках код интерпретируется PHP. Все, что заключено в одинарные кавычки выводится без какой бы ни было интерпретации. Пример:
< ?php $x="PHP"; //присвоение значения переменной echo "Привет","всем"; echo " "; echo "

Пример $x кода

Пример $x кода

  1. Для вывода более подробной информации о переменной, которая может понадобиться при отладке программы, служит функция var_dump(). Ее синтаксис:
var_dump(cписок переменных);
  1. В списке переменных указывается одно или несколько имен переменных. Эта функция ничего не возвращает. Пример:
$x=12.56; var_dump($x);
  1. Менее информативной, чем var_dump(), функцией вывода сведений о переменных является:
print_r(список_переменных);
  1. Для переменных типа «массив» эта функция выводит список вида индекс => элемент.

Переменные языка РНР для чайников

  1. Переменные – контейнеры для хранения данных. Данные, сохраняемые в переменной, называют значением этой переменной.
  2. Переменная имеет имя – последовательность букв, цифр и символа подчеркивания без пробелов и знаков препинания, начинающаяся обязательно с символа доллара ($), за которым должна следовать буква или символ подчеркивания.
  3. Правильные имена переменных: $_tel, $tmp, $my_, $address_234_45.
  4. Неправильные имена переменных: $234tel, my address, $tel:234.
  5. РНР является регистро-ависимым языком относительно имен переменных и констант. Однако ключевые слова могут использоваться в любом регистре.

Типы данных языка РНР и преобразование данных для чайников

Тип данных Пример Описание значений
Строковый или символьный (string) «Привет всем»
«123456»
«25 рублей»
Последовательность символов, заключенная в кавычки
Целочисленный, числовой (integer) -234
25
0
Число или последовательность цифр, перед которыми может быть указан знак числа
Числовой с плавающей точкой (float) 5.47
21.4
35E-3
Число с дробной частью (35Е2 означает 3500)
Логический (булевый, boolean) true
false
Этот тип имеет два значения: true (истина, да), false (ложь, нет)
NULL null Этот тип данных имеет одно значение — null
Массив (Array) Этот тип данных имеет одно множество значений, которые могут быть различных типов
Объект (Object) Программный объект, определяемый своими свойствами
  1. Для того, чтобы узнать какой тип переменной, нужно воспользоваться функцией:
gettype(имя_переменной);
  1. Для явного задания типа можно воспользоваться одним из двух способов:
Имя_переменной=(int) 12.45 //результат 12 Settype(имя_переменной, "тип") < ?php $x="PHP"; $s=gettype($x); echo $s, " "; settype($e,"integer"); $s=gettype($e); echo $s, " "; $d=(int)24.4; $s=gettype($d); echo $s, " ", $d; ?>

Константы языка PHP для чайников

  1. Константой называется именованная величина, которая не изменяется в процессе выполнения программы (скрипта).
  2. В отличие от переменных, вы не можете изменять значения констант, которые были им присвоены при их объявлении. Константы удобно использовать для хранения значений, которые не должны изменяться во время работы программы. Константы могут содержать только скалярные данные (логического, целого, плавающего и строкового типов).
  3. В РНР константы определяются функцией define(). Вот ее синтаксис:
define($name, $value, $case_sen);

$name — имя константы.
$value — значение константы.
$case_sen — необязательный параметр логического типа, указывающий, следует ли учитывать регистр букв (true) или нет (false).

Define("pi",3.14,true); echo pi; //Выводит 3.14

  1. Для проверки существования константы можно использовать функцию defined(). Данная функция возвращает true, если константа объявлена. Пример:
//Объявляем константу pi define("pi",3.14,true); if (defined("pi")==true) echo "Константа pi объявлена!"; //Скрипт выведет "Константа pi объявлена!"

Различия между константами и переменными в языке PHP для чайников

  1. У констант нет приставки в виде знака доллара ($).
  2. Константы можно определить только с помощью функции define(), а не присваиванием значения.
  3. Константы могут быть определены и доступны в любом месте без учета области видимости.
  4. Константы не могут быть определены или аннулированы после первоначального объявления.
  5. Константы могут иметь только скалярные значения.

Программирование на языке PHP для чайников. Часть 1 was last modified: Март 3rd, 2016 by Admin

PHP(Personal Home Pages Tools) был создан программистом из Дании, Расмусом Ледорфом, как набор скриптов, написанных на Perl, для учета посетителей его личной странички (онлайн-резюме) в 1995 году. Вскоре после этого Расмусу понадобилось расширить возможности этого набора, поэтому он написал на С новый интерпретатор, который назвал PHP/FI. Язык унаследовал от Perl стиль обозначения переменных, но синтаксис был намного проще.Через два года автор языка выпустил вторую версию.

PHP/FI 2.0 не пользовался большой популярностью, пока в 1997 году программисты из израильского города Хайфа, Зеев Сураски и Энди Гутманс, не предложили Расмусу Ледорфу вместе работать над улучшением PHP. В итоге, весь код был полностью изменен и через некоторое время выпустили PHP 3.0 (от аббревиатуры FI решили отказаться). В результате этих изменений язык стал очень популярным и стал использоваться на огромном количестве веб-сайтов. Для большей солидности аббревиатуру поменяли на “PHP: Hypertext Preprocessor”, чтобы язык не ассоциировался только с домашними страничками.

Вскоре после выпуска третьей версии Сураски и Гутманс начали работу над PHP 4.0. Новый движок для языка назывался Zend Engine, а их фирма, которую они впоследствии основали, стала называться Zend Technologies. Пятая версия была представлена в 2004 году, в ней была улучшена производительность и изменены функции ООП (взяли за основу модель из Java).

PHP 6.0 так и не вышла (из-за проблем с Юникодом), после чего долгое время развивалась только пятая версия. Однако, в 2014 году начали разработку PHP 7.0, которая вышла в конце 2015.

Философия PHP

PHP очень сильно похож на С, однако в нем есть некоторые заимствования из Perl(например, обозначение переменных начинается со знака доллара). Как и в JavaScript, PHP код разрешено включать прямо в html-страницы или же создавать отдельные файлы, но в PHP они будут выполняться на стороне сервера (JS скрипты можно запускать локально в браузере, а для PHP нужен web-сервер).

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

Где применяется PHP

PHP один из наипопулярнейших языков в Web, на нем написано огромное количество сайтов, блогов, фотогаллерей, интернет-магазинов, сайтов знакомств, форумов, социальных сетей (ВКонтакте и Facebook, хотя сейчас они используют свои версии языка, KPHP и HPHP). Движок для Википедии (MediaWiki) написан на PHP.

На PHP редко приходится делать что-то с нуля потому, что уже существует большое количество готовых решений и систем. Для создания новостных сайтов или аналогичных есть три CMS (систем управления содержимымы) о которых, наверное, слышали все - это Joomla, Wordpress и Drupal. Для интернет магазинов есть системы управления OpenCart, Magento. Все они бесплатны, за исключением дополнительных модулей, которые не входят в них.

Для создания GUI-приложений PHP применяется редко, однако всё же есть такие расширения и библиотеки, как PHP-GTK и PHP-Qt, а также некоторые IDE и пакеты (WinBinder), при помощи которых можно создать оконное приложение.

Сложность обучения PHP

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

Стоит отметить, что в языке могут встретиться непонятные для неподготовленного человека синтаксические конструкции. Например, может встретиться такое сообщение об ошибке, как “syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”. Начинающий программист может начать ломать голову, что за PAAMAYIM_NEKUDOTAYIM, но объясняется всё довольно просто. Разработчики языка (Сураски и Гутманс) при добавлении синтаксических элементов использовали транскрипцию с их родного языка, иврита. В данном случае это, скорее всего, означает, что было поставлено лишнее двойное двоеточие (в PHP есть такой оператор). Такие синтаксические конструкции могут периодически встречаться при программировании на PHP, поэтому можно просто погуглить документацию по языку или спросить на каком-нибудь ресурсе для PHP-программистов.

Плюсы/минусы PHP

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

  • В интерпретатор встроены все основные функции, поэтому не нужно подключать никаких модулей. Также в стандартной версии языка уже есть большая часть необходимых разработчиков модулей;
  • Поддерживает большинство баз данных;
  • Вывод ошибок прямо на веб-страницу (хотя, при неправильной настройке это может стать и минусом, так как их увидят и посетители сайта);
  • Есть много библиотек и расширений, практически ничего не нужно создавать с нуля;
  • Доступность для большинства платформ - Windows, Linux, Unix, MacOS;
  • Поддерживается на любом хостинге (вряд ли удастся найти такой, который не поддерживает);
  • Поддерживается большим сообществом разработчиков;
  • Легко найти вакансию или зарабатывать фрилансом.

Теперь рассмотрим минусы:

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

Сопутствующие технологии

Zend Framework - PHP-фреймворк для создания веб-приложений, от компании, принадлежащей соавторам языка.

PEAR - внешние библиотеки, объединенные в один репозиторий.

phpMyAdmin - интерфейс для работы с MySQL. При помощи него можно через браузер запускать команды SQL, работать с таблицами и БД, администрировать сервер MySQL.

PECL - репозиторий для модулей на С для PHP.

YIi, Laravel - фреймворки на PHP, которые используют паттерн MVC при создании проекта.

Drupal, Joomla, WordPress - CMS (системы для управления контентом), написанные на PHP.

Magento, OpenCart - платформы, которые были написаны на PHP и предназначены для создания интернет-магазинов.

JPHP - компилятор PHP, которые предназначен для Java (как JRuby или JPython).

Как ни странно, но все 5 лет, которые существует этот сайт, здесь не было такого раздела:-)
попробуем восполнить этот недостаток.
Данный раздел предназначается тем, кто собирается изучать PHP или просто интересуется - что это такое.

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

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

Условно говоря, применение PHP можно разделить на три группы:

1. Самое простое (но очень мощное) применение - это использование PHP, как аналога SSI. Записать все неизменяемые части сайта в отдельные файлы (меню, шапку, подвал) и вместо того, чтобы писать одно и то же на каждой странице, просто вызывать
include "menu.php" ;
Это уже значительно облегчит работу с сайтом. К примеру, если добавится новый пункт в меню...

2. Следующий этап - создание отдельных небольших программок. Это может быть голосование, гостевая книга, вывод текущей даты, рисование календаря... Хотя последние две задачи, в отличие от первых, не обязательно делать на PHP - можно и на Яваскрипте. PHP применяется тогда, когда нужно какую-то информацию хранить на сервере. К примеру, гостевую книгу на Яваскрипте написать множно, но вот... увидит её сообщения только тот, кто их добавлял:-)

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

С чем чаще всего путают PHP? С готовыми программами, написанными на PHP. Если вам нужна гостевая книга, портал или электронный магазин - вам не нужно учить PHP. Вам нужно найти готовую программу.

Если же вы решили изучать этот язык, то следует знать, что ожидает впереди. Для того, чтобы стать даже начинающим веб-программистом, надо знать:
- три языка программирования - HTML, PHP и SQL.
- Иметь очень хорошее представление о протоколе передачи гипертекста HTTP и о том, как взаимодействует компьютер пользователя с веб-сервером.
- иметь базовые представления об операционных системах (в частности понития файл, каталог, знать основные отличия windows от unix)
- иметь базовые представления о сетевом протоколе TCP/IP (как соединяются компьютеры, что такое IP адрес, DNS и прочее)
- обязательно придется познакомиться с понятием отладки своих программ

Если весь этот объем не пугает, то добро пожаловать! Начните с раздела "

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

Введение

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

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

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

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

История РНР

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

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

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

PHP – это серверный язык программирования, который исполняется на стороне сервера, в то время как JavaScript исполняется в браузере на стороне пользователя.

И PHP , и Javascript можно встраивать в HTML-страницы .

Прочитав эту статью о PHP программировании, вы узнаете :

  • Что такое скриптовый язык?
  • Сценарный язык vs программный язык.
  • Как расшифровывается PHP ?
  • Что такое PHP ?
  • Синтаксис PHP .
  • Зачем нужен PHP ?
  • Для чего используется PHP и какова его доля на рынке?
  • PHP vs ASP.NET vs JSP vs CFML .
  • Файловые расширения PHP .
  • Простая программа PHP .

Сценарный язык vs программный язык

Как расшифровывается PHP?

PHP расшифровывается как Personal Home Page (персональная домашняя страница ), но сейчас всё чаше используется Hypertext Preprocessor .

PHP-код можно встраивать в HTML или использовать в CMS и веб-фреймворках.

Что такое PHP?

Основное предназначение языка программирования PHP заключается в разработке:

  • Статичных сайтов;
  • Динамических сайтов;
  • Веб-приложений.

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

Клиентским компьютерам, осуществляющим доступ к PHP-скриптам , понадобится только браузер. PHP-файл содержит теги, и имеет расширение .php .

PHP-синтаксис

PHP-файл также может содержать HTML и клиентские скрипты JavaScript .

  • Знание HTML будет преимуществом при изучении PHP . Можно учить PHP и без знания HTML , но желательно знать хотя бы основы;
  • СУБД для приложений, работающих с применением БД ;
  • Для реализации более сложных задач потребуется связка JavaScript и XML .

На рисунке, приведенном ниже, демонстрируется базовая архитектура веб-приложения и процесс обработки запросов сервером. Это важно знать при изучении PHP программирования с нуля:

Зачем нужен PHP?

  • PHP бесплатен и предлагает открытый исходный код;
  • Изучить его проще, нежели JSP , ASP и т. д.;
  • Большое сообщество разработчиков;
  • Большинство хостингов поддерживают PHP , чего не скажешь об ASP , для которого необходима поддержка IIS ;
  • PHP постоянно обновляется;
  • PHP предлагает встроенную поддержку MySQL . Также PHP можно использовать с:
  • Postgres ;
  • Oracle ;
  • MS SQL Server ;
  • ODBC ;
  • PHP – кроссплатформенный язык. Это означает, что вы можете реализовать свое приложение на нескольких ОС , включая Windows , Linux , Mac OS и других.

Для чего используется PHP и какова его доля на рынке?

На основе PHP работает более 20 миллионов сайтов и веб-приложений:


PHP vs ASP.NET vs JSP vs CFML

ASP – Active Server Pages.
JSP – Java Server Pages.
CFML – Cold Fusion Markup Language.

В таблице ниже приведено сравнение различных серверных языков с языком программирования PHP .

Свойство PHP ASP JSP CFML
Обучаемость Быстро Дольше чем PHP Дольше чем PHP Дольше чем PHP
Хостинг Поддерживается практически всеми хостерами. Необходим выделенный сервер. Относительно хорошая. Необходим выделенный сервер.
Open Source Да Нет Да Доступны коммерческая и open source версии
Поддержка веб-сервисов Встроенная Используется фреймворк.NET Используются дополнительные библиотеки Встроенная
Интеграция с HTML Простая Достаточно сложная Достаточно сложная Простая
Поддержка MySQL Нативная Потребуются сторонние драйверы В текущей версии есть нативная поддержка. В прежних версиях используется ODBC
Дополнение другими языками Да Нет При помощи Java-классов и библиотек Да

Файловые расширения PHP

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

  • .phtml
  • .php3
  • .php4
  • .php5
  • .phps

PHP был разработан для работы с HTML , следовательно, его можно встраивать в HTML-код :

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

Чтобы сервер мог отличить PHP от HTML , код всегда нужно обрамлять соответствующими тегами. PHP чувствителен к регистру. Это значит, что «VAR » — это не то же самое, что «var ».

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

Мы расцениваем строки PHP-кода как выражения. Они оканчиваются точкой с запятой (; ). Если у вас будет только одно выражение, то точку с запятой можно опустить. Если выражений больше одного, то каждая строка должна завершаться точкой с запятой.

PHP Hello World

Приведённая ниже программа является простым PHP-приложением , которое выводит “Hello World! ” в браузере.

Резюме

  • Язык программирования PHP расшифровывается как Hypertext pre-processor ;
  • PHP выполняется на стороне сервера. Это исключает необходимость установки дополнительного программного обеспечения на устройства пользователей;
  • PHP-файлы необходимо сохранять с расширением .php ;
  • PHP распространяется с открытым исходным кодом и поддерживается на многих платформах.

Перевод статьи “What is PHP? Write your first PHP Program ” был подготовлен дружной командой проекта