Как работать с php на компьютере

Обновлено: 04.07.2024

Для запуска PHP локально на вашем компьютере необходима программа-сервер. Для windows лучший вариант - OpenServer, для linux - LAMP, для macos - MAMP.

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

Как выполнить PHP

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

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Моя первая программа</title> </head> <body> моя первая программа </body> </html>

В этих файлах прямо внутри HTML кода мы можем писать PHP код. Он пишется в специальных скобках <?php и ?> . Давайте сделаем это:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Моя первая программа</title> </head> <body> <?php echo 'моя первая программа'; ?> </body> </html>

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

Упрощение

Для простоты на этапе обучения лишние теги можно не писать:

Проблема с кодировками

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

Иногда описанные процедуры не помогают и тогда может помочь команда mb_internal_encoding :

<meta charset="utf-8"> <?php mb_internal_encoding('UTF-8'); echo 'моя первая программа'; ?>

Вывод ошибок PHP

Если вы допустите в вашем PHP коде ошибку, то сервер выведет описание этой ошибки прямо в браузер. Ошибки бывают трех типов: notice , warning и fatal .

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

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

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

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

Иногда, однако, данная команда не сработает (зависит от настроек сервера). На помощь придет вторая команда:

Лучше сразу писать две:

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

Полный код для запуска PHP

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

<meta charset="utf-8"> <?php error_reporting(E_ALL); ini_set('display_errors', 'on'); mb_internal_encoding('UTF-8'); echo 'моя первая программа'; ?>

Улучшим код для запуска

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

Давайте его доработаем. Для этого сделаем два файла. Пусть первый файл будет index.php и именно его вы будете запускать в браузере:

<meta charset="utf-8"> <?php error_reporting(E_ALL); ini_set('display_errors', 'on'); mb_internal_encoding('UTF-8'); include 'code.php'; ?>

Обратите внимание на команду include , написанную в первом файле. Эта команда будет автоматически подключать код второго файла к первому. И все команды первого файла автоматически применятся к подключенному коду второго файла.

А второй файл будет называться code.php . В нем вы просто будете писать PHP код и именно этот файл вы будете присылать на проверку:

Далее в учебнике во всех примерах кода я буду для простоты опускать лишние команды.

Отличие веб-приложения от обычной программы
Начиная писать программы для веба, многие начинающие программисты сталкиваются с такой ошибкой. Они рассматривают систему браузер-сервер, как обычное приложение. Интерактивное. Нажал кнопку - система среагировала. Провел мышкой - среагировала. Вся информация, которая доступна клиенту - доступна и программе, программа все время находится в памяти.
Так вот, в веб-программировании это не так!.
В момент, когда пользователь видит перед собой страницу и начинает совершать какие-то действия с ней, PHP уже завершил работу! И пользователь взаимодействует не с PHP скриптом, а со своей страницей HTML, которую он получил в браузер. Результатом работы скрипта на PHP в большинстве случаев является обычный текст. Текст HTML страницы. Которая отдается браузеру и показывается им, как обычный HTML. Вы сами можете в этом убедиться, написав в скрипте
<? echo "Привет, <b>Вася!</b>"; ?>;
А потом просмотрев в браузере исходный текст полученной страницы. Никаких тегов PHP там нет! Только
Привет, <b>Вася!</b>
Потому, что PHP исполняется на сервере!

Сервер и браузер общаются, посылая друг другу запросы по особому протоколу - HTTP. Соединение может инициировать только браузер. Он посылает серверу запрос - показать такой-то файл. Сервер клиенту файл посылает.
Только так и происходит. Клиент запросил - сервер отдал. И забыл сразу о клиенте. Отсюда становится понятным ответ на вопрос, можно ли точно узнать, сколько юзеров сечас на сайте. Нельзя. потому, что "на сайте" нету ни одного. Они соединяются, запрашивают страницу, и отсоединяются. Не имеют постоянного cоединения с сервером, как, например, игроки в Кваку. Узнать можно только примерно, записывая время каждого соединения и выбирая записи за определенный промежуток времени.

Пример общения браузера с сервером:
Пользователь нажимает на ссылку, браузер посылает запрос серверу и ждет ответа:
Браузер -> PHP
PHP выполняет скрипт, отдает результат в браузер и завершает работу:
PHP -> браузер
Браузер отображает страницу, "просматривая" её на предмет ссылок, которые надо запросить у сервера (теги <img src>, <script src> и так далее) и посылает соответствующие запросы. Их можно увидеть, просматривая обмен заголовками, о чем речь будет чуть ниже:
Браузер -> сервер, Браузер -> сервер, Браузер -> сервер.
Пользователь заполняет форму и нажимает на кнопку:
Браузер -> PHP
PHP обрабатывает форму, записывает данные в базу и посылает браузеру заголовок
Location:
PHP -> браузер
Браузер, получив этот заголовок, запрашивает указанную страницу
Браузер -> PHP
PHP выполняет ее. и так далее.

Как передать переменную из PHP в JavaScript и обратно?
Начнем с того, что никакую переменную передать, конечно же, невозможно. Поскольку переменная - это часть программы. И из одной в другую передать её нельзя. Передать можно только значение переменной. Т.е. текст. То есть, различия между "передачей переменной в яваскрипт" и формированием html таблицы НЕТ НИКАКОГО!
Отсюда вывод - "Передать переменную" в Javascript очень легко. Особенно, повторюсь, если учесть, что никакой "передачи" не происходит. PHP просто напросто генерирует яваскрипт точно так же, как и всю остальную страницу, вместе со всеми переменными.
Точно так же, как вы выводите в браузер строку "Hello World, это Вася Пупкин!", выводится и любой яваскрипт, со всеми своими переменными.
Единственное условие - вы должны представлять себе тот яваскрипт, который хотите получить.
К примеру в PHP есть переменная $name="Вася" , значение которой надо передать в яваскрипт, чтобы получить
<script>name="Вася";</script>
Мы просто пишем
<?
$name="Вася";
?>
<script>name="<? echo $name; ?>"</script>
То есть, фактически, мы просто сформировали нашим PHP скриптом некий текст, который выглядит, как нужный нам код на яваскрипте. Или, с другой стороны, мы писали свой яваскрипт, в нужных местах вставляя вывод переменных из PHP.
Чтобы не сойти с ума от разнообразных кавычек, настоятельно рекомендуется яваскрипт выводить не весь с помощью echo, а именно так, как написано здесь - закрыв тег PHP и открывая их только там, где нужно вывести переменную.

Как передать переменную из яваскрипта в PHP?
Точно так же, как и любые другие данные - послав запрос на сервер.
Но надо четко понимать, что во время выполнения php скрипта получить что-либо из яваскрипта, разумеется, невозможно. Передать можно будет только при следующем запросе. И обрабатывать его будет уже другой PHP скрипт.
Если надо по событию onClick обратиться к базе данных, то следует помнить, что она находится на сервере. То есть, надо запрашивать сервер, который запустит PHP скрипт, который обратится к базе, получит от неё ответ и передаст его в браузер.

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

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

ОЧЕНЬ ВАЖНОЕ ЗАМЕЧАНИЕ
Из того факта, что PHP исполняется на сервере, и посылает результат своей работы браузеру, следует один простой, но очень важный вывод. Что PHP в принципе НЕ МОЖЕТ отобразить в браузере ничего такого, что невозможно было бы сделать средствами html.
ПРЕЖДЕ, чем что-то писать на PHP - попробуйте это сделать чистым HTML.
"Нажатие на Энтер" не переводит строку? А в html вы не пробовали таким образом строки переводить? Не получилось? Какая досада. Прочитайте, как в html сделать перевод строки и приходите снова.

Браузер не умеет показывать файлы, в которые напихан одновременно и html картинки. Браузер умеет показывать только известные ему типы данных. В частности, это ИЛИ html ИЛИ картинка. Но не вместе. Если картинка - то ОДНА. Несколько картинок подряд браузер показывать не умеет. Браузер умеет показывать HTML, в котором прописаны ССЫЛКИ на несколько картинок.
Пожалуйста, прежде, чем изучать PHP - изучите хотя бы основы HTML! Прежде, чем что-то требовать от PHP - попробуйте сделать это на html.


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

Редакторы кода

Для удобного кодинга нам понадобится редактор кода (IDE). Популярные:

    (платный, пробная версия на 30 дней); (бесплатно); (бесплатно); (бесплатно).

Как запустить PHP в Atom

Устанавливать PHP на компьютер и запускать веб-сервер мы будем в конце статьи в разделе «Собираем HTML-страницу». А пока для запуска PHP-сценариев достаточно добавить плагин Script в редакторе Atom.

Как установить Atom в Ubuntu и Windows читайте в нашем самоучителе по Python.

Чтобы запустить PHP-сценарий в Atom перейдем в закладку Packages → Script → Run Script , либо нажмем на клавиши Ctrl + Shift + B (рис. 1).

Рис. 1. Запуск php-скрипта в редакторе Atom

Рис. 1. Запуск php-скрипта в редакторе Atom

1. Синтаксис

Код в PHP заключается в открывающий <?php и закрывающий ?> теги. Согласно стандарту кодирования PSR-12, закрывающий тег должен быть опущен в файлах, содержащих только код PHP . В конце строки ставят разделитель строк – точку с запятой ; . Если забыть поставить разделитель, то следующая строка кода соединится с предыдущей и интерпретатор PHP выдаст ошибку.

Выведем на экран строку Hello World (заключена в кавычки) с помощью команды echo :

через функцию print :

через функцию printf (выводит отформатированную строку):

или через функцию print_r() , выводящую информацию в удобочитаемом виде:

Чтобы перенести строку используем символ \n , который работает только в двойных кавычках:

2. Объявление переменной

PHP – язык со слабой типизацией, то есть перед объявлением переменной не нужно задавать ее тип. Чтобы объявить переменную, перед ее именем ставят знак доллара $ :

переменной animal присвоили значение Сat .

Выведем на экран переменную animal :

Одно значение можно присвоить нескольким переменным:

Комментарии

3. Типы данных

3.1. Строки

Строка – набор символов, заключенный в одиночные '' или двойные кавычки "" :

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

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

Оператор присваивания с конкатенацией .= присоединяет правый аргумент к левому:

Чтобы перенести слово на новую строку воспользуемся символом переноса \n , который работает только в двойных кавычках:

3.2. Числа

Целое число (integer) не имеет дробной части:

Число с плавающей точкой

Число с плавающей точкой имеет дробную часть и задается следующий образом:

Чтобы узнать тип переменной воспользуемся функцией gettype() , а для преобразования числа с плавающей точкой в целое число функцией intval() :

Арифметические операторы

Оператор Операция
+ Сложение
- Вычитание
* Умножение
/ Деление
% Деление по модулю
** Возведение в степень

Таблица 1. Арифметические операторы

Мы можем сложить два числа через запись $number_one = $number_one + $number_two; или через сокращенную запись $number_one += $number_two; :

Операторы сравнения

Чтобы сравнить значения используют операторы сравнения, которые возвращают true или false :

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

Оператор Значение
$n == $m True, если $n равно $m
$n === $m True, если $n равно $m и имеют одинаковые типы
$n! = $m True, если $n не равна $m
$n <> $m True, если $n не равна $m
$n !== $m True, если отличаются тип или значение переменных
$n < $m True, если $n меньше $m
$n > $m True, если $n больше $m
$n <= $m True, если $n меньше или равна $m
$n >= $m True, если $n больше или равна $m
$n <=> $m Возвращает -1, если $n меньше $m, 0 в случае равенства и 1, если $n больше $m

Таблица 2. Операторы сравнения

Порядок операций

Сначала считается выражение в скобках:

4. Условный оператор if-else

Рис. 2. Условный оператор if в PHP

Рис. 2. Условный оператор if в PHP

Оператор if выполняет код, если выполняется условие. В противном случае выполняется код после else, который переводится, как «иначе», «в другом случае».

Синтаксис оператора if-else

Напишем несколько условий с оператором if и if-else :

для проверки дополнительных условий используется оператор elseif :

&& – логический оператор И . В нашем условии проверяемое число должно быть больше четырех и меньше десяти.

Оператор Значение Результат
$n and $m И true, если и $n, и $m true
$n or $m Или true, если или $n, или $m true
$n xor $m Исключающее Или true, если $n, или $m true
! $n Отрицание true, если $n не true
$n && $m И true, если и $n, и $m true
$n || $m Или true, если или $n, или $m true

Таблица 3. Логические операторы

5. Тернарный оператор

Тернарный оператор сокращает запись проверяемого условия и имеет следующий синтаксис:

Проверим, переменная n больше 10 или нет. Если значение n больше 10 , уменьшим значение n на единицу (декремент). В противном случае увеличим на единицу (инкремент).

6. Переключатель switch

Переключатель switch проводит нестрогое сравнение == значений и передает управление соответствующему оператору case . Если значение не совпадает со значением из case , тогда выполняется переход к оператору default .

Синтаксис переключателя switch

Напишем конструкцию из переключателя switch и двух операторов case :

7. Цикл while

Рис. 3. Цикл while в PHP

Рис. 3. Цикл while в PHP

Оператор while выполняет код до тех пор, пока значение условия не станет ложным.

Синтаксис цикла while

Выведем на экран пять раз слово Hello .

Расшифровка :

while – обозначение цикла.

$m = 0 – начальное значение переменной m .

$m < 5 – условие, которое проверяется перед началом цикла.

$m++ – инкрементирование, то есть увеличение переменной на единицу.

echo "Hello\n" – вывод на экран слово Hello каждый раз с новой строки \n .

Другой способ записи с помощью декремента в условии:

$m-- – декрементация, то есть уменьшение значения переменной на единицу. В это примере знак декремента -- стоит после переменной, поэтому мы получим четыре итерации (от 4 до 0).

Если поставить оператор декремента перед переменной --$m , то мы получим три итерации (от 4 до 1):

8. Цикл do..while

Цикл do..while выполняется минимум один раз, так как условие выполнения цикла проверяется в конце итерации, а не в начале как в цикле while .

Синтаксис цикла do..while

Напишем цикл, выводящий на экран четыре раза слово Hello :

9. Цикл for

Рис. 4. Цикл for в PHP

Рис. 4. Цикл for в PHP

Когда нам известно количество итераций, вместо цикла while лучше использовать цикл for .

  1. Инициализирующее выражение выполняется один раз в начале цикла.
  2. Проверяется условие. Если оно истинно, то выполняется тело цикла. Если ложно, то выполнение цикла прерывается.
  3. В конце каждой итерации изменяется счетчик (увеличивается или уменьшается).

Цикл выполняется, до тех пор, пока условие истинно, то есть значение i не станет равным 4:

10. Цикл foreach

Цикл foreach последовательно перебирает элементы массива.

Синтаксис цикла foreach

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

11. Массивы

Рис. 5. Индексы элементов в массиве PHP

Рис. 5. Индексы элементов в массиве PHP

Массивы – упорядоченная коллекция элементов с доступом по индексу или ключу. Индексный массив создается двумя способами:

Через функцию array() :

и через квадратные скобки []:

echo $a[1] – вывести на экран второй элемент массива.

Нумерация массива начинается с 0 . В нашем случаем элементу массива Cat соответствует порядковый номер 0 , Dog – 1 , 123 – 2 . Для обращения к элементу массива используется следующий синтаксис: $имя_массива[индекс_элемента] .

Рекомендуется объявлять массив через квадратные скобки, так как эта запись компактнее.

Создадим пустой массив:

Добавим в него несколько элементов и выведем на экран его содержимое:

Чтобы добавить новый элемент мы использовали запись $имя_массива[] = новый_элемент . Первый добавленный элемент получает индекс 0 . Индексы следующих элементов увеличиваются на 1 . Можно задать индекс самостоятельно. Для этого в квадратных скобках укажем нужный нам индекс:

При добавлении непронумерованного элемента 5000 , значение его индекса будет на единицу большего максимального значения индекса в массиве – 101 :

Для удаления элемента из массива воспользуемся функцией unset() :

unset($array[2]) – удаление третьего элемента массива.

В качестве индекса также используют строки:

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

Ассоциативный массив объявляется через символы => :

Создадим ассоциативный массив:

Для поиска ключа по значению используем функцию array_search():

array_search('Cat' ,$array) – поиск ключа, соответствующего значению Cat в массиве array .

Чтобы подсчитать количество элементов в массиве воспользуемся функцией count() :

Также можно создать многомерный массив:

'animals' => ['Cat', 'Dog'] – ключ animals с двумя значениями: Cat и Dog .

'second_array' => [5000, 33, ['third_array' => ['Hello']]] – ключ second_array с тремя значениями: два числа 5000 , 33 и массив, но уже со своим ключем third_array и значением Hello .

12. Функции

Функция – подпрограмма, которая на входе принимает аргументы (бывают функции без входных аргументов), выполняет код и возвращает результат. Функциональное программирование упрощает жизнь программиста, так как не нужно копировать и вставлять фрагменты кода снова и снова. Достаточно обратиться к функции когда нужно и сколько угодно раз.

Существуют встроенные и пользовательские функции. Встроенные функции – print() , print_r() и так далее – придумали разработчики. Пользовательские функции программисты пишут самостоятельно.

Как объявить функцию

function – мы говорим интерпретатору, что отсюда начинается функция.

аргументФункции – переменные, которые передаются функции для выполнения кода.

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

return – выдает результат работы функции.

Напишем и вызовем функцию, выводящую на экран фразу Hello, World .

Аргументы функций

До этого мы рассматривали функции без аргументов – переменных, которые функция получает извне. Напишем функцию с аргументами, которая считает сумму трех чисел:

$a , $b , $c – аргументы функции.

13. Собираем HTML-страницу

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

Запуск веб-сервера

Веб-сервер можно запустить несколькими способами:

  1. Через встроенный в PHP веб-сервер.
  2. Через сторонние инструменты: XAMPP , Open Server,Winginx .

Встроенный в PHP веб-сервер

Инструкция для Windows:

  1. Скачаем с официального сайта PHP и распакуем содержимое архива на диск.
  2. Откроем консоль и перейдем в папку с PHP, используя команду cd , например, cd php7 .
  3. Создадим папку page командной mkdir page . В ней будут храниться файлы нашей странички.
  4. Введем в консоли php -S localhost:8000 -t P:\php7\page\ . Флаг -S означает, что мы запускаем сервер по адресу localhost на 8000 порту. Флаг -t указывает путь к корневой директории.

Инструкция для Ubuntu:

  1. Установим PHP командой sudo apt install php libapache2-mod-php php-mysql .
  2. Создадим в домашней директории папку page .
  3. Введем в консоли php -S localhost:8000 -t /home/USERNAME/page .

Рис. 6. Запуск встроенного в PHP веб-сервера

Рис. 6. Запуск встроенного в PHP веб-сервера

Если мы получили ошибку 404, значит сервер запущен.

XAMPP

Скачаем и установим XAMPP . В папке C:\xampp\htdocs\ создадим папку нашей странички page . Запустим веб-сервер Apache, кликнув по кнопке Start . Узнаем версию PHP, введя в консоли (Shell) команду php -v .

Рис. 7. Запуск сервера с помощью XAMPP

Рис. 7. Запуск сервера с помощью XAMPP

Рис. 8. Запуск сервера с помощью XAMPP на Windows

Рис. 8. Запуск сервера с помощью XAMPP на Windows

14. Собираем страничку

Теперь создадим несколько PHP-файлов, из которых соберем страничку. Перейдем в папку page и создадим четыре файла: index.php , header.php , body.php , footer.php .

Структура простого HTML-документа выглядит следующим образом:

Воспользуемся фреймворком Bootstrap, чтобы ускорить создание странички. Скачивать ничего не нужно, просто вставим ссылку на Bootstrap в тег <head> :

Откроем файл header.php и вставим в него следующий код:

в файл footer.php :

в файл index.php :

include – инструкция, которая подключает к PHP-сценарию другие сценарии. Также сценарии подключают с помощью инструкций require , include_once и require_once . Они отличаются по реакции на отсутствие подключаемого файла.

Рис. 9. HTML-страница, собранная из php-файлов

Рис. 9. HTML-страница, собранная из php-файлов

PHP (Hypertext Preprocessor) – это скриптовый (встраиваемый) язык программирования, который служит инструментом для придания динамики нашим с вами сайтам, а также для автоматизации множества процессов. Именно благодаря PHP, который является свободно (бесплатно) распространяемым, и были созданы все современные CMS (системы управления контентом): Joomla, Wordpress, Monstra, OpenCart, Drupal, DataLife Engine (DLE) и так далее. Собственно говоря в этом и заключается суть данного курса раздела – в том, что без знания PHP вы просто банально не сможете произвести тонкую настройку CMS под ваши нужды, не говоря уже о создании действительно успешных и стоящих веб-проектов. С мотивацией разобрались? Пойдёмте дальше.

Как выглядит PHP код?

PHP код располагается прямо внутри нашей HTML страницы: он может находится между тегов, внутри тегов, до первого тега на странице (<!DOCTYPE html>) и даже после закрывающегося тега html – абсолютно везде (главное не забыть поменять расширение файла с .html на .php). Именно поэтому он и называется встраиваемым языком программирования. Давайте рассмотрим всё на примере, возьмём наш макет из статьи о том, как создать веб-страницу и поместим в него PHP скрипт:

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

пример работы PHP

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

кодировка на PHP

Как работает PHP?

Если в случае с сайтом на чистом HTML + CSS всё просто: клиент посылает запрос серверу, сервер находит и отдаёт обратно клиенту нужный .html файл (веб-страницу), то в случае с PHP всё слегка сложнее. При запросе клиента к серверу, сервер находит нужный .php файл, отдаёт его на обработку PHP интерпретатору, который и выполняет весь PHP код, а затем PHP модуль возвращает серверу уже преобразованную (проигранную, отработавшую) страницу, которую в свою очередь сервер и возвращает клиенту. Вот вам и потеря скорости, друзья, сколько действий то теперь происходит каждый раз при запросе страницы, так что хотите скорости – чистый HTML вам в помощь (шутка конечно).

Что нужно для начала работы с PHP?

Как вы уже могли догадаться из прочитанного выше, теперь нам понадобится установить себе на компьютер самый настоящий веб-сервер, который, между прочим, тоже бесплатный, а называется он Apache. Но это ещё не всё, после установки сервера Apache нам ещё придётся прикрутить к нему модуль PHP. Подробную статью о том, как установить веб-сервер Apache + модуль PHP, да ещё и прикрутить базу данных MySQL я напишу попозже (01.08.2013 написал: читать статью), а сейчас я лучше расскажу вам, как можно сделать всё то же самое, но сэкономить при этом кучу времени. И в этом нам поможет бесплатный дистрибутив разработанный Дмитрием Котеровым под названием Denwer (Денвер) - Джентльменский набор Web-разработчика.

После установки Денвера вы будете обладать всем необходимым ПО (программным обеспечением), которое нужно для разработки сайтов на PHP, а также для установки и использования любой CMS (Joomla, Wordpress и тд.).

Также подразумевается, что у вас уже есть хотя бы базовые познания в области HTML + CSS, а, следовательно, вы уже успели хотя бы чуть-чуть поработать с такими инструментами для разработки сайтов как веб-инспекторы и уж точно знаете из чего состоит сайт. Ещё стоит отметить, что работу PHP разработчика может заметным образом облегчить правильно подобранный редактор кода, в котором вы быстро освоитесь и будете использовать все встроенные возможности редактора по максимуму и с наибольшим КПД. Примером такого редактора, кстати, абсолютно бесплатного, может послужить Sublime Text 2. Перейдя по ссылке, вы можете прочитать о нём обзорную статью и научиться некоторым тонкостям работы.

Начало работы с PHP на Денвере

Итак, чтобы запустить нашу первую веб-страницу со встроенным PHP скриптом необходимо обязательно поменять расширение нашего файла с .html на .php У меня он будет называться как ни странно index.php Располагать его требуется в папке с Денвером по следующему пути:

Запустить такой файл простым перетягиванием в браузер, как мы делали это раньше, не получится. Сначала нам нужно не забыть сделать двойной клик по «Start Denwer», чтобы запустить наш веб-сервер Apache, а затем в адресную строку браузера ввести следующий url:

Где каталог blog2 – это та самая папка с произвольным названием для вашего сайта (измените на свою).

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

Читайте также: