Вы находитесь на странице: 1из 229

Раздел 1:

Знакомство
План вебинара
План вебинара

– Знакомство с интенсивом
План вебинара

– Знакомство с интенсивом
– Учебный и личные проекты
План вебинара

– Знакомство с интенсивом
– Учебный и личные проекты
– Что такое PHP
План вебинара

– Знакомство с интенсивом
– Учебный и личные проекты
– Что такое PHP
– Как установить и настроить PHP-окружение
План вебинара

– Знакомство с интенсивом
– Учебный и личные проекты
– Что такое PHP
– Как установить и настроить PHP-окружение
– Основы синтаксиса языка
План вебинара

– Знакомство с интенсивом
– Учебный и личные проекты
– Что такое PHP
– Как установить и настроить PHP-окружение
– Основы синтаксиса языка
– Описание рабочего процесса
Цель интенсива
Познакомить с азами программирования на примере языка PHP, 

обучить основным концепциям и особенностям веб-разработки.

Сделать из человека уверенного, начинающего PHP-программиста.


Что мы будем делать на интенсиве
Что мы будем делать на интенсиве

– Оживлять верстку
Что мы будем делать на интенсиве

– Оживлять верстку
– Работать с формами
Что мы будем делать на интенсиве

– Оживлять верстку
– Работать с формами
– Сохранять информацию в базе данных
Что мы будем делать на интенсиве

– Оживлять верстку
– Работать с формами
– Сохранять информацию в базе данных
– Организовывать аутентификацию пользователей
Что мы будем делать на интенсиве

– Оживлять верстку
– Работать с формами
– Сохранять информацию в базе данных
– Организовывать аутентификацию пользователей
– Писать безопасный код
Что мы будем делать на интенсиве

– Оживлять верстку
– Работать с формами
– Сохранять информацию в базе данных
– Организовывать аутентификацию пользователей
– Писать безопасный код
– Подключать готовые решения (библиотеки)
Что мы будем делать на интенсиве

– Оживлять верстку
– Работать с формами
– Сохранять информацию в базе данных
– Организовывать аутентификацию пользователей
– Писать безопасный код
– Подключать готовые решения (библиотеки)
– Использовать контроль версий кода (Git)
Что мы будем делать на интенсиве

– Оживлять верстку
– Работать с формами
– Сохранять информацию в базе данных
– Организовывать аутентификацию пользователей
– Писать безопасный код
– Подключать готовые решения (библиотеки)
– Использовать контроль версий кода (Git)
– И многое другое…
Учебный проект «GifTube»
Личный проект «YetiCave»
Личный проект «Дела в порядке»
Наставник
личный ментор, который проверяет задания

и консультирует по решению домашних задач

и пониманию материала
Работа с наставником
Работа с наставником

– проверяет задания
Работа с наставником

– проверяет задания
– разбирает тонкости, консультирует
Работа с наставником

– проверяет задания
– разбирает тонкости, консультирует
– передаёт опыт
Работа с наставником

– проверяет задания
– разбирает тонкости, консультирует
– передаёт опыт
– принимает сдачу проекта
Наставники
Наставники

– Более 20 человек
Наставники

– Более 20 человек
– Все – профессионалы своего дела, практикующие веб-разработчики
Наставники

– Более 20 человек
– Все – профессионалы своего дела, практикующие веб-разработчики
– Главный ориентир выбора наставника — удобное время консультаций
Наставники

– Более 20 человек
– Все – профессионалы своего дела, практикующие веб-разработчики
– Главный ориентир выбора наставника — удобное время консультаций
– Дополнительный ориентир - предпочитаемые наставником технологии
Наставники

– Более 20 человек
– Все – профессионалы своего дела, практикующие веб-разработчики
– Главный ориентир выбора наставника — удобное время консультаций
– Дополнительный ориентир - предпочитаемые наставником технологии
– Совсем дополнительный ориентир — фотография
Связь с кураторами
С любым организационным вопросом или проблемой 

можно обратиться к кураторам интенсива с помощью 

специальной формы в интерфейсе интенсива.

Кураторы ответят и помогут.


Вызов куратора
Защита проекта
Защита проекта

– проверка на соответствие техническому заданию и критериям качества


Защита проекта

– проверка на соответствие техническому заданию и критериям качества


– проект проверяется случайным наставником
Защита проекта

– проверка на соответствие техническому заданию и критериям качества


– проект проверяется случайным наставником
– сначала нужно получить допуск у своего наставника
Защита проекта

– проверка на соответствие техническому заданию и критериям качества


– проект проверяется случайным наставником
– сначала нужно получить допуск у своего наставника
– для защиты достаточно получить 60%

выполнить все базовые критерии
Защита проекта

– проверка на соответствие техническому заданию и критериям качества


– проект проверяется случайным наставником
– сначала нужно получить допуск у своего наставника
– для защиты достаточно получить 60%

выполнить все базовые критерии

– три попытки

засчитывается лучший результат
Знакомство с языком
Три факта про PHP
Три факта про PHP
1. Работает на стороне сервера - серверный 

язык программирования
Три факта про PHP
1. Работает на стороне сервера - серверный 

язык программирования

2. Создан для веб-программирования. 



Результат работы PHP-программы - HTML код
Три факта про PHP
1. Работает на стороне сервера - серверный 

язык программирования

2. Создан для веб-программирования. 



Результат работы PHP-программы - HTML код

3. Легок для изучения


Схема взаимодействия

Пользователь
Схема взаимодействия

Пользователь
Схема взаимодействия

Веб-сервер

Пользователь
Схема взаимодействия

Веб-сервер

Пользователь
Схема взаимодействия

Веб-сервер

Пользователь
Схема взаимодействия

Веб-сервер

Пользователь
Схема взаимодействия

Веб-сервер

Пользователь
Схема взаимодействия

Веб-сервер

Пользователь
Схема взаимодействия

Веб-сервер

База Данных
Пользователь
Схема взаимодействия

Веб-сервер

База Данных
Пользователь
Схема взаимодействия

Веб-сервер

База Данных
Пользователь
Схема взаимодействия

Веб-сервер

База Данных
Пользователь
Где используется PHP

Социальные сети Блоги

Википедия Интернет-магазины
Статистика использования PHP
Статистика использования PHP

– Используется на 83% всех веб-сайтов в интернете


Статистика использования PHP

– Используется на 83% всех веб-сайтов в интернете


– Почти 54 миллиона сайтов работают на PHP
Статистика использования PHP

– Используется на 83% всех веб-сайтов в интернете


– Почти 54 миллиона сайтов работают на PHP
– Занимает восьмое место в списке самых популярных

языков программирования
Как PHP встраивается в HTML код
<!doctype html>

<html lang="ru">

<head>

    <title>Пример PHP-сценария </title>

</head>

<body>

<h1>Информация о пользователе </h1>

<?php $browser = get_browser(null, true); ?>

<dl>

    <dt><strong>Ваш IP адрес: </strong> </dt>

    <dd><em><?php print($_SERVER['REMOTE_ADDR']); ?> </em> </dd>


    <dt><strong>Операционная система: </strong> </dt>

    <dd><em><?php print($browser['platform']); ?> </em> </dd>


    <dt><strong>Браузер: </strong> </dt>

    <dd><em><?php print($browser['browser']); ?> </em> </dd>

</dl>

</body>

Как PHP встраивается в HTML код
<!doctype html>

<html lang="ru">

<head>

    <title>Пример PHP-сценария </title>

</head>

<body>

<h1>Информация о пользователе </h1>

<?php $browser = get_browser(null, true); ?>

<dl>

    <dt><strong>Ваш IP адрес: </strong> </dt>

    <dd><em><?php print($_SERVER['REMOTE_ADDR']); ?> </em> </dd>


    <dt><strong>Операционная система: </strong> </dt>

    <dd><em><?php print($browser['platform']); ?> </em> </dd>


    <dt><strong>Браузер: </strong> </dt>

    <dd><em><?php print($browser['browser']); ?> </em> </dd>

</dl>

</body>

Как PHP встраивается в HTML код
<!doctype html>

<html lang="ru">

<head>

    <title>Пример PHP-сценария </title>

</head>

<body>

<h1>Информация о пользователе </h1>

<?php $browser = get_browser(null, true); ?>

<dl>

    <dt><strong>Ваш IP адрес: </strong> </dt>

    <dd><em><?php print($_SERVER['REMOTE_ADDR']); ?> </em> </dd>


    <dt><strong>Операционная система: </strong> </dt>

    <dd><em><?php print($browser['platform']); ?> </em> </dd>


    <dt><strong>Браузер: </strong> </dt>

    <dd><em><?php print($browser['browser']); ?> </em> </dd>

</dl>

</body>

Итоговый HTML код
<!doctype html>

<html lang="ru">

<head>

    <meta charset="UTF-8">

    <title>Пример PHP-сценария </title>

</head>

<body>

<h1>Информация о пользователе </h1>

<dl>

    <dt><strong>Ваш IP адрес: </strong> </dt>

    <dd><em>127.0.0.1 </em> </dd>


    <dt><strong>Операционная система: </strong> </dt>

    <dd><em>MacOSX </em> </dd>


    <dt><strong>Браузер: </strong> </dt>

    <dd><em>Safari </em> </dd>

</dl>

</body>

Установка PHP
Окружение разработчика

Верстальщик
Окружение разработчика

Верстальщик

1. Написать HTML и
CSS код
Окружение разработчика

Верстальщик

1. Написать HTML и
CSS код
2. Открыть страницу в
браузере
Окружение разработчика

Верстальщик PHP-программист

1. Написать HTML и
CSS код
2. Открыть страницу в
браузере
Окружение разработчика

Верстальщик PHP-программист

1. Написать HTML и 1. Установить PHP


CSS код
2. Открыть страницу в
браузере
Окружение разработчика

Верстальщик PHP-программист

1. Написать HTML и 1. Установить PHP


CSS код 2. Установить веб-сервер
2. Открыть страницу в
браузере
Окружение разработчика

Верстальщик PHP-программист

1. Написать HTML и 1. Установить PHP


CSS код 2. Установить веб-сервер
2. Открыть страницу в 3. Установить базу данных
браузере
Окружение разработчика

Верстальщик PHP-программист

1. Написать HTML и 1. Установить PHP


CSS код 2. Установить веб-сервер
2. Открыть страницу в 3. Установить базу данных
браузере 4. Настроить все это добро
Окружение разработчика

Верстальщик PHP-программист

1. Написать HTML и 1. Установить PHP


CSS код 2. Установить веб-сервер
2. Открыть страницу в 3. Установить базу данных
браузере 4. Настроить все это добро
5. Открыть страницу в
браузере
Open Server
Программная среда «Open Server»
пакет из всех необходимых программ для PHP-
разработчика. 

Самостоятельно устанавливает и настраивает весь
необходимый для работы «софт».
Open Server
Open Server

– Только для Windows


Open Server

– Только для Windows


– Сборка «всё в одном»
Open Server

– Только для Windows


– Сборка «всё в одном»
– Содержит несколько версий PHP, веб-сервер, базу данных
Open Server

– Только для Windows


– Сборка «всё в одном»
– Содержит несколько версий PHP, веб-сервер, базу данных
– Легкий способ настройки нескольких локальных хостов
Open Server

– Только для Windows


– Сборка «всё в одном»
– Содержит несколько версий PHP, веб-сервер, базу данных
– Легкий способ настройки нескольких локальных хостов
– Готов к работе сразу после установки
Open Server

– Только для Windows


– Сборка «всё в одном»
– Содержит несколько версий PHP, веб-сервер, базу данных
– Легкий способ настройки нескольких локальных хостов
– Готов к работе сразу после установки
– Автозапуск и много других полезных возможностей

Open Server

– Только для Windows


– Сборка «всё в одном»
– Содержит несколько версий PHP, веб-сервер, базу данных
– Легкий способ настройки нескольких локальных хостов
– Готов к работе сразу после установки
– Автозапуск и много других полезных возможностей


– Скачивать по ссылке: https://ospanel.io/download


Open Server
Дополнительная настройка Open Server
После установки необходимо выбрать 

нужные настройки OpenServer:
Настройка PHP

Настроим PHP, чтобы он показывал все 



ошибки прямо в браузере:

error_reporting = E_ALL & ~E_STRICT


display_errors = On
log_errors = On
Виртуальные хосты
Запуск проекта
PHP-сценарий
список из выражений.

Каждое выражение написано с новой строчки

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

Например, сложить два числа или вывести на экран
информацию
Пример простого сценария

<?php
print("Мой первый сценарий!");
Пример простого сценария

Обязательная часть
любого сценария

<?php
print("Мой первый сценарий!");
Пример простого сценария

Обязательная часть
любого сценария

<?php
print("Мой первый сценарий!");

Инструкция вывода на
экран строки «Мой
первый сценарий!»
Пример простого сценария

Обязательная часть
любого сценария

<?php
print("Мой первый сценарий!");

Не забываем про точку с


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

Веб-сервер

База Данных
Пользователь
Веб-сценарий
php-код, встроенный внутри HTML страницы
Простой веб-сценарий
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Привет! </title>
</head>
<body>
<p><?php print("Мой первый сценарий"); ?> </p>
</body>
</html>
Простой веб-сценарий
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Привет! </title>
</head>
<body>
<p><?php print("Мой первый сценарий"); ?> </p>
</body>
</html>

PHP инструкции можно


писать среди HTML кода
Простой веб-сценарий
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Привет! </title>
</head>
<body>
<p><?php print("Мой первый сценарий"); ?> </p>
</body>
</html>

PHP инструкции можно Если после инструкции идет


писать среди HTML кода HTML код, то обязательно
использование «?>»
Запуск веб-сценария

– Сохранить файл под именем 



C:\OpenServer\domains\localhost\index.php

– Запустить OpenServer (если не запущен)


– Открыть в браузере: http://localhost
Результат
Синтаксис языка PHP
Синтаксис языка программирования
Это словарь доступных слов и набор правил, которые 

позволяют нам выражать свои намерения в понятном 

для компьютера виде
Переменные
способ сохранить информацию под определенным
именем, чтобы использовать её позже
Переменные

catName
Имя переменной, которая
будет содержать имя кота

keks Значение переменной


Действия с переменными
допустимые операции, которые можно
выполнять с переменными
Операции с переменными
Операции с переменными

– Объявление переменных
Операции с переменными

– Объявление переменных
– Присваивание значений
Операции с переменными

– Объявление переменных
– Присваивание значений
– Использование (чтение) переменных
Операции с переменными

– Объявление переменных
– Присваивание значений
– Использование (чтение) переменных
– Удаление переменных
Объявление и присваивание
Как правило, операции объявления переменной и 

присваивание ей значения выполняются вместе
Объявление и присваивание
Как правило, операции объявления переменной и 

присваивание ей значения выполняются вместе

Если переменную объявить, но ничего не присвоить,



то у неё будет специальное, пустое значение: null
Объявление и присваивание
Как правило, операции объявления переменной и 

присваивание ей значения выполняются вместе

Если переменную объявить, но ничего не присвоить,



то у неё будет специальное, пустое значение: null

<имя_переменной> = <значение>
Требования к именованию
Требования к именованию

– Обязаны начинаться со знака «доллар»: $


Требования к именованию

– Обязаны начинаться со знака «доллар»: $


– Не должны начинаться с цифры
Требования к именованию

– Обязаны начинаться со знака «доллар»: $


– Не должны начинаться с цифры
– В имени допустимы только символы латинского алфавита, 

цифры и знак подчеркивания
Примеры имен

Правильно

$message
$age_of_victor
$name2
Примеры имен

Правильно Неправильно

$message message
$age_of_victor $42
$name2 $job-title
Объявление и использование
<?php
// Объявление переменных
$message;

// Объявление с присваиванием
$fuel = "gasoline";
$age = 21;

// Использование (чтение)
print($age);

// Переопределение
$fuel = "diesel";

// Уничтожение переменной
unset($age);
Конкатенация
операция объединения двух и более строковых
значений в одно новое
Конкатенация на примере
<?php

$fish = "акула ";


$type = " хищник";
$area = " морской";

$desc = $fish . "-" . $area . $type;

// акула - морской хищник


print($desc);
Конкатенация на примере
<?php
Объединяем все три
$fish = "акула "; переменные в одну
$type = " хищник";
$area = " морской";

$desc = $fish . "-" . $area . $type;

// акула - морской хищник


print($desc);
Конкатенация на примере
<?php
Объединяем все три
$fish = "акула "; переменные в одну
$type = " хищник";
$area = " морской";

$desc = $fish . "-" . $area . $type;

// акула - морской хищник


print($desc);

Теперь в переменной
$desc находится три
слова
Типы данных
указывает на допустимое множество значений
переменной и операции, которые можно с ними
выполнять
Типы данных

PHP не обязывает указывать тип переменной


и автоматически преобразует данные к
подходящему типу
Доступные типы данных в PHP

Название Имя Описание Пример

Целое число integer Натуральное число без дробей $age = 21;

Одно или несколько слов.


Строка string $name = "Victor";
Всегда в кавычках

Логическая ложь или истина.


Булев boolean $female = false;
Может быть только true или false

Представляет переменную без


Без значения null $brain = null;
значения. Всегда будет только null

Представляет не одно значение, а


$salad = ["tomato",
Массив array целое множество, которое может
"cucumber", "oil"];
состоять из значений разных типов
Операторы
Операторы в ЯП – это нечто, работающее с двумя
значениями.
Например, оператор сложения «+» умеет
складывать два числа.
Доступные операторы в PHP
Арифметические операторы
Сложение: $a + $b
Вычитание: $a - $b
Умножение: $a * $b
Деление: $a / b
Остаток от деления: $a % $b

Операторы сравнения
Сравнение: $a == $b
Не равно: $a != $b
Меньше, меньше или равно: $a < $b, $a <= $b
Больше, больше или равно: $a > $b, $a >= $b

Логические операторы
Логическое «И»: and
Логическое «ИЛИ»: or
Отрицание: !

Строковые операторы
Конкатенация (точка): $a . $b
Выражения в PHP
комбинация одного или нескольких значений,
переменных, операторов или функций,
составленных в одно «предложение», которое будет
иметь вычисляемый результат
Пример выражения

Пример выражения Пустое выражение

$x = 2 + 2; 2 + 2;
Присваиваем Вначале вычисляется Это тоже выражение с результатом 4,
значение значение этого но оно не имеет смысла, т.к. никак не
переменной подвыражения может быть использовано

Результат всего выражения: 4


Перерыв на 10 минут
Логические выражения
Высказывание
Высказывание – языковое образование, которое
может быть истинным или ложным.
Примеры высказываний
Примеры высказываний
1. Москва – столица России.
Примеры высказываний
1. Москва – столица России.

2. PHP – это язык программирования.


Примеры высказываний
1. Москва – столица России.

2. PHP – это язык программирования.

3. Арбуз – это фрукт.


Примеры высказываний
1. Москва – столица России.

2. PHP – это язык программирования.

3. Арбуз – это фрукт.

4. В одном часе сто минут.


Примеры высказываний

"мир" == "мор";
Примеры высказываний

"мир" == "мор"; Ложь


Примеры высказываний

"мир" == "мор"; Ложь

3 > 2;
Примеры высказываний

"мир" == "мор"; Ложь

3 > 2; Истина
Примеры высказываний

"мир" == "мор"; Ложь

3 > 2; Истина

5 % 2 == 0;
Примеры высказываний

"мир" == "мор"; Ложь

3 > 2; Истина

5 % 2 == 0; Ложь
Сложное высказывание
набор простых высказываний
(по крайней мере двух)
связанных логическими операциями.
Примеры сложных высказываний
Примеры сложных высказываний
1. Григорий был молод и красноречив

2. В помещении было сыро и прохладно

3. Гражданин, вы покупайте или уходите


Логические операции
Существует три основных логических операции, 

которые очень часто используются для 

организации сложных высказываний:
Логические операции
Существует три основных логических операции, 

которые очень часто используются для 

организации сложных высказываний:

1. Конъюнкция – логическое умножение


Логические операции
Существует три основных логических операции, 

которые очень часто используются для 

организации сложных высказываний:

1. Конъюнкция – логическое умножение

2. Дизъюнкция – логическое сложение


Логические операции
Существует три основных логических операции, 

которые очень часто используются для 

организации сложных высказываний:

1. Конъюнкция – логическое умножение

2. Дизъюнкция – логическое сложение

3. Инверсия – отрицание
Логическое умножение

Высказывание будет истинным тогда и только тогда, 



когда оба исходных высказывания истинны.

Если хотя бы одно из составляющих высказываний ложно, 



то и полученное из них с помощью союза «И» сложное 

высказывание также считается ложным.
Логическое умножение

Логический оператор

&& and

Примеры использования
Логическое умножение

Логический оператор

&& and

Примеры использования

true && false;


Логическое умножение

Логический оператор

&& and

Примеры использования

true && false; Ложь


Логическое умножение

Логический оператор

&& and

Примеры использования

true && false; Ложь

2 < 3 and "a" != "b";


Логическое умножение

Логический оператор

&& and

Примеры использования

true && false; Ложь

2 < 3 and "a" != "b"; Истина


Логическое сложение

Высказывание будет истинным, когда хотя бы одно 



из двух образующих истинно.

Будет ложным, только если оба составляющих 



высказывания являются ложью.
Логическое сложение

Логический оператор

|| or

Примеры использования
2 > 3 or "a" == "b";
Логическое сложение

Логический оператор

|| or

Примеры использования
2 > 3 or "a" == "b";

true || false;
Логическое сложение

Логический оператор

|| or

Примеры использования
2 > 3 or "a" == "b";

true || false; Истина


Логическое сложение

Логический оператор

|| or

Примеры использования
2 > 3 or "a" == "b";

true || false; Истина

2 > 3 or "a" == "b";


Логическое сложение

Логический оператор

|| or

Примеры использования
2 > 3 or "a" == "b";

true || false; Истина

2 > 3 or "a" == "b"; Ложь


Инверсия

Инверсия – это операция инвертирования 



логического значения. 

Что было истиной станет ложью, 

а что было ложью станет истиной.

В PHP операция инверсии организуется 



унарным оператором «!»

Пример использования

$res = 2 > 3;



Истина
$res = !$res;
Условные конструкции
Условная конструкция в PHP 

– это законченное «предложение», которое предписывает 

выполнить или не выполнять определённую инструкцию, 

в зависимости результата заданного условия.
Условные конструкции
if (<выражение, чью истинность проверяем>) {
<код, который выполнится если истина>
}
else if (<выражение, если не истинно первое>) {
<код, который выполнится если истина>
}
else {
<код, который выполнится в остальных случаях>
}
Условные конструкции
if (<выражение, чью истинность проверяем>) {
<код, который выполнится если истина>
}
else if (<выражение, если не истинно первое>) {
<код, который выполнится если истина>
}
else {
<код, который выполнится в остальных случаях>
}
Условные конструкции
if (<выражение, чью истинность проверяем>) {
<код, который выполнится если истина>
}
else if (<выражение, если не истинно первое>) {
<код, который выполнится если истина>
}
else {
<код, который выполнится в остальных случаях>
}

if ($direction == "вперед") {

print("счастье найдешь");

} else if ($direction == "направо") {

print("жизнь потеряешь");

} else {

print("коня потеряешь");

}
Альтернативный синтаксис условий
В веб-сценариях, при работе с HTML кодом, 

условия проще записывать через альтернативный синтаксис.

<body>

<?php if ($direction == "вперед"): ?>

<p>счастье найдешь </p>

<?php elseif ($direction == "направо"): ?>

<p>жизнь потеряешь </p>

<?php else: ?>

<p>коня потеряешь </p>

<?php endif; ?>

</body>
Шорт-теги
синтаксис для быстрого вывода значений
переменных внутри HTML кода
Использование шорт-тегов

Шорт-теги упрощают использование 



PHP переменных в HTML.

Код сценария становится значительно короче.


Использование шорт-тегов

Шорт-теги упрощают использование 



PHP переменных в HTML.

Код сценария становится значительно короче.

Старый способ

<?php print($var); ?>


Использование шорт-тегов

Шорт-теги упрощают использование 



PHP переменных в HTML.

Код сценария становится значительно короче.

Старый способ

<?php print($var); ?>

Новый способ

<?=$var; ?>
Код без шорт-тегов
<!doctype html>

<html lang="ru">

<head>

<title>Пример PHP-сценария</title>

</head>

<body>

<h1>Информация о пользователе</h1>

<?php $browser = get_browser(null, true); ?>

<dl>

<dt><strong>Ваш IP адрес:</strong></dt>

<dd><em><?php print($_SERVER['REMOTE_ADDR']); ?></em></dd>


<dt><strong>Операционная система:</strong></dt>

<dd><em><?php print($browser['platform']); ?></em></dd>


<dt><strong>Браузер:</strong></dt>

<dd><em><?php print($browser['browser']); ?></em></dd>

</dl>

</body>

</html>
Код с шорт-тегами
<!doctype html>

<html lang="ru">

<head>

<title>Пример PHP-сценария</title>

</head>

<body>

<h1>Информация о пользователе</h1>

<?php $browser = get_browser(null, true); ?>

<dl>

<dt><strong>Ваш IP адрес:</strong></dt>

<dd><em><?=$_SERVER['REMOTE_ADDR']; ?></em></dd>


<dt><strong>Операционная система:</strong></dt>

<dd><em><?=$browser['platform']; ?></em></dd>


<dt><strong>Браузер:</strong></dt>

<dd><em><?=$browser['browser'];?></em></dd>

</dl>

</body>

</html>
Рабочий процесс на интенсиве
Как мы будем работать
чистовая версия кода хранится в репозитории 

intensive-php/100000-keksoproject


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

your-nickname/100000-keksoproject


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

на вашем компьютере — это клон вашего форка


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

основной
 форк
репозиторий

локальная

версия
Как мы будем работать

основной
 форк
репозиторий
1.
Об
нов
ля
ем
ся

локальная

версия
Как мы будем работать

основной
 форк
репозиторий
1.
Об
нов
ля
ем
ся

2. Создаем ветку

локальная

версия
Как мы будем работать

основной
 форк
репозиторий
1.
Об
нов
ля
ем
ся

2. Создаем ветку

3. Выполняем задание
локальная

версия
Как мы будем работать

основной
 форк
репозиторий
1.
Об
нов
ля 4. Отправляем в форк
ем
ся

2. Создаем ветку

3. Выполняем задание
локальная

версия
Как мы будем работать

5. Делаем пуллреквест

основной
 форк
репозиторий
1.
Об
нов
ля 4. Отправляем в форк
ем
ся

2. Создаем ветку

3. Выполняем задание
локальная

версия
Как мы будем работать

5. Делаем пуллреквест

основной
 форк
репозиторий
1.
Об
6. Наставник 
 нов
ля 4. Отправляем в форк
принимает
 ем
задание в master ся

2. Создаем ветку

3. Выполняем задание
локальная

версия
Задания зависят друг от друга
Выбор проекта и наставника
Выбор личного проекта
Настройки личного проекта
Выполняем первое задание
Установка Git
https://git-scm.com
Улучшенная консоль для Windows
https://cmder.net
Базовые настройки для Гита
После установки Гита нужно задать ваше имя и эл. почту, 

для этого в консоли выполняем следующие команды:

zsh

htmlacademy ~/yeticave-2018 git config --global user.name "Kirill Senkevich"


htmlacademy ~/yeticave-2018 git config --global user.email "frexin@htmlacademy.ru"
Форкаем мастер-репозиторий
Ваша копия репозитория
Рабочая директория
Рабочая директория – это папка на вашем компьютере, 

содержащая все файлы из репозитория

Вся разработка личного проекта будет идти только 



в рабочей директории

Ваша рабочая директория


должна быть внутри этой
папки
Где будет находиться рабочая директория

– Windows:

C:/ospanel/domains

– Linux:

/var/www/html

– Mac OS:

/usr/local/var/www

Клонируем репозиторий
Клонируем форк репозитория с Гитхаба к себе

в рабочую директорию.

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

Клонирование репозитория в новую папку

Переход в рабочую директорию


Создаем ветку для задания
Из задания на сайте Академии берём название ветки 

и создаём её в своём репозитории.
Фиксируем изменения
Добавляем файл в индекс изменений и фиксируем 

изменения в репозитории.
Публикуем изменения в Гитхаб
Отправляем ветку module1-task1 со всеми изменениями 

в наш удалённый репозиторий (форк) на Гитхабе.
Ветка в гитхабе
Пулл-реквест в Гитхабе
Привязываем пулреквест к заданию
Отправляем задание на проверку
Обсуждение
Фиксируем изменения
Добавляем файл в индекс изменений и фиксируем

изменения в репозитории.
Публикуем изменения в Гитхаб
Отправляем ветку module1-task1 со всеми изменениями 

в наш удалённый репозиторий (форк) на Гитхабе.
Отправляем на проверку еще раз
Когда наставник принял задание
Каждый раз, когда ваш пулреквест приняли, и вы
хотите приступить к следующему заданию…
Возвращаемся в ветку master
Все новые ветки обязательно создавайте из ветки master.

Первым делом переключаемся в master.
Связь с репозиториями
Посмотрим, с какими удалёнными репозиториями 

связан мой локальный репозиторий.
Связь с мастер-репозиторием
Добавим связь с мастер-репозиторием, чтобы иметь 

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

нужно получить обновление из него.
Все правильно сделал

Вам также может понравиться