PHP с нуля. Урок 1
PHP ( PHP: Hypertext Preprocessor, задумчивый препроцессор
гипертекста) — скриптовый язык программирования, oриентированный на web.
B 1 yрокe познакомимся с основным синтаксисом, а так же напишем свой первый скрипт.
Основы синтаксиса:
—
— начало и конец скрипта
оператор присваивания — =
— Вывод текстовой информации — echo (может выводить html-код)
Урок 1. Создание первого скрипта
Как вы видите скрипт состоит из одной строчки.
Что бы выполнить скрипт необходимо соответствующее ПО, для пользователей Windows я рекомендую Denwer (http://denwer.ru)
После установки Denwera создаем в каталоге hosts папку Script.test, в которой в свою очередь создаем папку
WWW. В папке WWW создаем файл index.php? в который переносим содержимое нашего файла.
После сохранения файла перезапустите Denwer. Затем в строке браузера наберите script.test
И вауля! Мы видем надпись Hello World!
Как ненадо писать Hello World:
Hello World Не пишется так
Ну уж точно не так:
Завершение.
На этом наш урок подошел к концу, ну а в завершении небольшая подборка полезных ссылок:
denwer.ru — сайт откуда можно скачать Denwer
ru.wikipedia.org/wiki/PHP — Что такое PHP
http;//php.net — самоучитель по PHP
О песочнице
Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.
Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.
Чтобы исключить предвзятость при оценке, все публикации анонимны, псевдонимы показываются случайным образом.
О модерации
Не надо пропускать:
🐘 Самоучитель для начинающих: как освоить PHP с нуля за 30 минут?
PHP (от англ. препроцессор гипертекста) – язык программирования общего назначения, широко используемый в веб-разработке. Сценарии PHP можно внедрять непосредственно в код HTML. В этой статье мы пройдемся по основам программирования на PHP: синтаксису, объявлению переменных, массивам, условным операторам, циклам и функциям. Также запустим двумя способами веб-сервер на локальной машине и соберем страничку из нескольких файлов PHP и фреймворка Bootstrap. В конце статьи приведем список литературы и бесплатные курсы по PHP для новичков.
Редакторы кода
Для удобного кодинга нам понадобится редактор кода (IDE). Популярные:
Как запустить PHP в Atom
Устанавливать PHP на компьютер и запускать веб-сервер мы будем в конце статьи в разделе «Собираем HTML-страницу». А пока для запуска PHP-сценариев достаточно добавить плагин Script в редакторе Atom.

1. Синтаксис
Выведем на экран строку Hello World (заключена в кавычки) с помощью команды echo :
через функцию print :
через функцию printf (выводит отформатированную строку):
2. Объявление переменной
Выведем на экран переменную animal :
Одно значение можно присвоить нескольким переменным:
Комментарии
3. Типы данных
3.1. Строки
Строка – набор символов, заключенный в одиночные » или двойные кавычки «» :
Конкатенация строк
3.2. Числа
Целое число (integer) не имеет дробной части:
Число с плавающей точкой
Число с плавающей точкой имеет дробную часть и задается следующий образом:
Арифметические операторы
| Оператор | Операция |
| + | Сложение |
| — | Вычитание |
| * | Умножение |
| / | Деление |
| % | Деление по модулю |
| ** | Возведение в степень |
Таблица 1. Арифметические операторы
Операторы сравнения
Чтобы сравнить значения используют операторы сравнения, которые возвращают true или false :
Если строка не содержит число, то интерпретатор PHP приводит значение строки к 0. Если в строке есть число и оно стоит после буквенных символов, то значение всей строки также приводится к 0. Е сли число стоит перед буквенными символами, то для сравнении берется только число.
Таблица 2. Операторы сравнения
Порядок операций
Сначала считается выражение в скобках:
4. Условный оператор if-else
Оператор if выполняет код, если выполняется условие. В противном случае выполняется код после else, который переводится, как «иначе», «в другом случае».
Синтаксис оператора if-else
Напишем несколько условий с оператором if и if-else :
для проверки дополнительных условий используется оператор elseif :
Таблица 3. Логические операторы
5. Тернарный оператор
Тернарный оператор сокращает запись проверяемого условия и имеет следующий синтаксис:
6. Переключатель switch
Синтаксис переключателя switch
Напишем конструкцию из переключателя switch и двух операторов case :
7. Цикл while
Оператор while выполняет код до тех пор, пока значение условия не станет ложным.
Синтаксис цикла while
while – обозначение цикла.
$m – условие, которое проверяется перед началом цикла.
$m++ – инкрементирование, то есть увеличение переменной на единицу.
Другой способ записи с помощью декремента в условии:
8. Цикл do..while
Синтаксис цикла do..while
Напишем цикл, выводящий на экран четыре раза слово Hello :
9. Цикл for
Цикл выполняется, до тех пор, пока условие истинно, то есть значение i не станет равным 4:
10. Цикл foreach
Цикл foreach последовательно перебирает элементы массива.
Синтаксис цикла foreach
На каждой итерации переменной присваивается значение текущего элемента последовательности. Переберем все элементы массива и умножим каждый элемент на 3:
11. Массивы
Массивы – упорядоченная коллекция элементов с доступом по индексу или ключу. Индексный массив создается двумя способами:
Через функцию array() :
и через квадратные скобки []:
Рекомендуется объявлять массив через квадратные скобки, так как эта запись компактнее.
Создадим пустой массив:
Добавим в него несколько элементов и выведем на экран его содержимое:
Для удаления элемента из массива воспользуемся функцией unset() :
unset($array[2]) – удаление третьего элемента массива.
В качестве индекса также используют строки:
В таком случае мы получаем что-то напоминающее словари в других языках программирования с ключами и значениями. В PHP такой массив называют ассоциативным.
Ассоциативный массив объявляется через символы => :
Создадим ассоциативный массив:
Для поиска ключа по значению используем функцию array_search():
Чтобы подсчитать количество элементов в массиве воспользуемся функцией count() :
Также можно создать многомерный массив:
12. Функции
Функция – подпрограмма, которая на входе принимает аргументы (бывают функции без входных аргументов), выполняет код и возвращает результат. Функциональное программирование упрощает жизнь программиста, так как не нужно копировать и вставлять фрагменты кода снова и снова. Достаточно обратиться к функции когда нужно и сколько угодно раз.
Как объявить функцию
function – мы говорим интерпретатору, что отсюда начинается функция.
аргументФункции – переменные, которые передаются функции для выполнения кода.
имяФункции – чтобы вызывать функцию, ей нужно присвоить имя.
return – выдает результат работы функции.
Аргументы функций
До этого мы рассматривали функции без аргументов – переменных, которые функция получает извне. Напишем функцию с аргументами, которая считает сумму трех чисел:
13. Собираем HTML-страницу
Чтобы просмотреть HTML-страницу, собранную из нескольких PHP-файлов, установим и запустим веб-сервер, разместим файлы в определенной папке и обратимся к файлу через браузер.
Запуск веб-сервера
Веб-сервер можно запустить несколькими способами:
Встроенный в PHP веб-сервер
Инструкция для Windows:
Инструкция для Ubuntu:
Чтобы проверить запущен ли сервер, перейдем по адресу http://localhost:8000/:

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


14. Собираем страничку
Структура простого HTML-документа выглядит следующим образом:
Воспользуемся фреймворком Bootstrap, чтобы ускорить создание странички. Скачивать ничего не нужно, просто вставим ссылку на Bootstrap в тег :
Откроем файл header.php и вставим в него следующий код:

Литература
Шпаргалки
YouTube-каналы и курсы
Бесплатные курсы на русском языке:
Язык php для начинающих с нуля самоучитель
Physics.Math.Code запись закреплена

1. Самоучитель PHP 7. Новинки PHP. Шаблоны проектирования, итераторы и генераторы. Приемы работы с СУБД PostgreSQL. Взаимодействие с базами данных NoSQL (Redis и подобными). Книга опытных разработчиков описывает последнюю версию языка разработки серверных сценариев РНР 7. Рассмотрены все нововведения языка и связанные с ними изменения в разработке современных Wеb-сайтов. Изложение ведется с упором на объектно-ориентированное программирование, шаблоны проектирования, итераторы, генераторы, а также взаимодействие с современными базами данных (PostgreSQL и Redis). В конце глав приведены более 100 заданий для закрепления материала и освоения не вошедших в книгу разделов языка. Электронный архив с исходными кода ми доступен на сайтах издательства и GitHub.
2. Изучаем PHP 7. Руководство по созданию интерактивных веб-сайтов.
Эта книга будет полезной разным категориям читателей, включая следующие. Любители, которым требуется создать интерактивный веб-сайт для себя, своей семьи или общественной организации.
Разработчики или проектировщики, которым требуется подключаемый модуль или расширение для распространенного программного обеспечения, написанного на РНР (например, Drupal, WordPress или MediaWiki). Дизайнеры веб-страниц, которым требуется более тесная связь с коллегами-разработчиками. Программирующие на JavaScript, которым требуется писать серверные программы, дополняющие их клиентский код. Программирующие на Perl, Python или Ruby, которым требуется быстро освоить РНР. Все, кому требуется простое и понятное введение в один из самых распространенных языков программирования, предназначенных для создания динамических веб-сайтов. Постепенное изучение РНР и доступный синтаксис делает этот язык идеальным “преддверием” для создателей веб-сайтов без специальной технической подготовки. Эта книга адресована тем, кто проявляет интерес к веб-разработке, обладает достаточной сообразительностью, но не имеет необходимой технической подготовки, а также программирующим на других языках и стремящимся овладеть РНР. Если программирование для вас совершенно внове и вы собираетесь построить свой первый интерактивный веб-сайт, значит, вы выбрали нужную книгу. В ее начальных главах дается постепенное введение в синтаксис языка РНР и основные понятия программирования на компьютере применительно к РНР. Поэтому изучайте материал этой книги с самого начала, постепенно продвигаясь вперед.
3. Наиболее полное руководство PHP 7. Нововведения PHP7.
Рассмотрены основы языка PHP и его рабочего окружения в Windows, Mac OS X и Linux. Отражены радикальные изменения в языке PHP, произошедшие с момента выхода предыдущего издания: трейты, пространство имен, анонимные функции, замыкания, элементы строгой типизации, генераторы, встроенный Web-сервер и многие другие возможности. Приведено описание синтаксиса PHP 7, а также функций для работы с массивами, файлами, СУБД MySQL, memcached, регулярными выражениями, графическими примитивами, почтой, сессиями и т. д. Особое внимание уделено рабочему окружению: сборке PHP-FPM и Web-сервера nginx, СУБД MySQL, протоколу SSH, виртуальным машинам VirtualBox и менеджеру виртуальных машин Vagrant. Рассмотрены современные подходы к Web-разработке, система контроля версий Git, GitHub и другие бесплатные Git-хостинги, новая система распространения программных библиотек и их разработки, сборка Web-приложений менеджером Composer, стандарты PSR и другие инструменты и приемы работы современного PHP-сообщества.
В третьем издании добавлены 24 новые главы, остальные главы обновлены или переработаны.
4. Изучаем PHP и MySQL. Мировой компьютерный бестселлер. Прочно усвоите ключевой синтаксис и понятия. Сможете предотвращать неприятные проблемы, источником которых являются веб-формы. Наработайте практический опыт в программировании на PHP и под MySQL. Закрепите полученные знания при помощи многочисленных упражнений.
5. Современный PHP. Новые возможности и передовой опыт. Из книги вы узнаете, как РНР превратился в зрелый полнофункциональный объектно-ориентированный язык, с пространствами имен и постоянно растущей коллекцией библиотек компонентов. Автор демонстрирует новые возможности языка на практике. Вы узнаете о передовых методах проектирования и конструирования приложений, работы с базами данных, обеспечения безопасности, тестирования, отладки и развертывания.
6. PHP для начинающих. Создавайте динамические веб-сайты с помощью PHP и MySQL. Изучите основы объектно ориентированного программирования. Применяйте технологию AJAX.
7. Динамические веб-сайты с помощью РНР, МySQL, JаvаScript, СSS и HТML5. Пошаговое руководство для создания динамических web-сайтов. Новое 5-е издание признанного бестселлера, описывающее как клиентские, так и серверные аспекты веб-разработки. Эта книга поможет вам освоить динамическое веб-программирование с применением самых современных технологий. Книга наполнена ценными практическими советами, содержит подробный теоретический материал. Для закрепления материала автор рассказывает, как создать полнофункциональный сайт, работающий по принципу социальной сети, включая рассказ о React.js.
8. PHP. Объекты, шаблоны и методики программирования.
Четвертое издание книги было пересмотрено и дополнено новым материалом. Книга начинается с обзора объектно-ориентированных возможностей PHP, в который включены важные темы, такие как определение классов, наследование, инкапсуляция, рефлексия и многое другое. Этот материал закладывает основы объектно-ориентированного проектирования и программирования на PHP. Вы изучите также некоторые основополагающие принципы проектирования. В этом издании книги также описаны возможности, появившиеся в PHP версии 5.4, такие как трейты, дополнительные расширения на основе рефлексии, уточнения типов параметров методов, улучшенная обработка исключений и много других мелких расширений языка. Следующая часть книги посвящена шаблонам проектирования, которые органически дополняют тему ООП и являются описанием элегантных решений распространенных проблем, возникающих при проектировании программного обеспечения. В ней описываются концепции шаблонов проектирования и показаны способы реализации нескольких важных шаблонов в приложениях на PHP. В этой же части приведен материал, посвященный шаблонам корпоративных приложений и баз данных. В последней части книги описывается несколько важных утилит и методик, помогающих осуществить успешный проект на основе разрозненных кусков кода. В этой части книги описано, как управлять работой нескольких программистов с помощью Git, как выполнить построение и развертывание проекта с помощью Phing и PEAR. Вы также изучите стратегии автоматического тестирования и построения проектов. Кроме обсуждения передовых средств построения и тестирования проектов, а также серверов непрерывной интеграции, в последней части книги описаны лучшие методики организации работы на основе системы контроля версий Git. Тем самым была отражена общая тенденция перехода на новую платформу, которая наметилась в среде разработчиков с момента выхода третьего издания книги. Эта книга посвящена трем важным темам: основам объектов, принципам объектно-ориентированного проектирования и лучшим методикам их применения. Изучив их в комплексе читатель сможет создавать первоклассные и отказоустойчивые программные системы.
Что почитать по PHP на русском?
PHP — один из самых популярных языков программирования. А ещё это язык, для изучения которого не так просто найти качественную книгу. Что ж, мы вместе с командой GeekBrains заглянем в интернет-магазин и посмотрим, что стоящего можно найти сегодня по PHP на русском языке.
PHP глазами хакера, Михаил Фленов
Откроем рейтинг с самой противоречивой книги. У неё очень много негативных отзывов. Причина — поверхностный взгляд как на сам язык, так и на указанную в названии специфику. И даже несмотря на то, что третье издание значительно переработано и улучшено, книга вряд ли будет интересна специалистам.
А вот новичков вполне может заинтересовать. Но не в качестве учебного пособия, а как «лёгкое чтиво» для мотивации к обучению. Знаете, это как с художественной литературой, основанной на исторических событиях — хорошее изложение способствует дальнейшему погружению в реальные факты.
Книга Михаила Фленова написана приятным языком, не требуют глубоких познаний в PHP, а соотношение цена/объём весьма неплохое.
PHP 7, Дмитрий Котеров, Игорь Симдянов
Главным достоинством этой книги является тот факт, что у авторов получилось запихнуть в неё максимум информации, которая может понадобиться новичку. Кроме того, здесь вы найдёте много примеров по каждой теме, рассмотрение вопросов, не касающихся непосредственно языка (например, стиля кода). Ну и, конечно, цена для такого объёма и содержания очень привлекательная.
Обратной стороной принятого в книге подхода является отсутствие разжевывания материала. Если вы до этого не работали с PHP, да и вообще с веб-разработкой, то, возможно, некоторые главы покажутся слишком краткими. Впрочем, когда есть под рукой интернет и ещё пара книг по теме, то придраться можно разве что к качеству бумаги.
Изучаем PHP 7. Руководство по созданию интерактивных веб-сайтов, Дэвид Скляр
Дэвид Скляр является одним из тех авторов в мире PHP, чьи книги принято ставить в пример. Данный случай — не исключение, вы получаете почти идеальное руководство для изучения с самого нуля (потребуется лишь базовое знание HTML). В конце книги приведены примеры, чтобы закрепить всё прочитанное, а содержимое дополнено качественными иллюстрациями.
В общем, если вы не пожалеете денег и не будете опускать руки, к концу прочтения, как и заявлено в названии, вы сможете создавать базовые веб- и мобильные сайты.
Самоучитель PHP 7, Максим Кузнецов, Игорь Симдянов
Что касается теории, то её подача поможет понять материал без использования интернет-ресурсов и вообще без компьютера под боком, что бывает полезно, если вы изучаете PHP в свободное время (например, в дороге или отпуске). Важным плюсом является и то, что книга свежая, все нововведения языка и требования к современной разработке отражены в полной мере.
PHP. Объекты, шаблоны и методики программирования, Мэт Зандстра
Важное предостережение: эта книга не рассчитана на новичков в PHP. То есть перед тем, как её купить, необходимо пройти хотя бы базовый курс обучения. Если же у вас есть необходимый багаж знаний (хотя бы понимание синтаксиса, структуры кода, принципов ООП), то сможете по достоинству оценить полезность книги и умение автора лаконично доносить информацию.
Речь пойдёт не столько о самом языке (хотя и об этом тоже), сколько о сопутствующих вещах: шаблонах, развёртывании, управлении проектом и командой, тестировании и отладке. В общем, обо всё том, о чём новичок ещё не очень задумывается, а вот специалист сталкивается постоянно.
Современный PHP. Новые возможности и передовой опыт, Джош Локхарт
Найти среди книг для джуниоров хоть одну, где половина текста не наполнена водой, большая удача. «Современный PHP» — то самое редкое исключение. По сути, книга является собранием теории, продемонстрированной при помощи популярных в профессии задач. То есть она одновременно может выступать как в роли обучающего пособия, так и настольного справочника.
Однако, как и в прошлом случае, новичкам стоит покупать её только на перспективу или в качестве сопроводительной литературы. Основы PHP и задачи для «набивания рук» лучше искать в книгах, где название явно предполагает нулевой уровень подготовки.
Основы Web-программирования на PHP, Александр Маркин, Сергей Шкарин
Книга имеют очень много противоречивых отзывов: кто-то считает её достойной заменой дорогим самоучителям от O’Reiily, кто-то предлагает выбросить сразу после покупки. Истина, как всегда, где-то посередине. В целом, здесь неплохо подана базовая теория по XHTML, CSS и PHP, имеется множество примеров. Цена при этом действительно смешная (менее 400 рублей).
Однако, если у вас есть деньги и желание получить книгу, с которой вы не расстанетесь долгие годы, обратите лучше внимание лучше на Локхарта или Скляра, потому что здесь много воды, обсуждается старая версия языка и задания на копипаст, а не самостоятельное изучение.
PHP и MySQL. От новичка к профессионалу, Кевин Янк
Кевин Янк воплотил в своей книге необычный подход к изучению языка PHP. Классическая схема «от общего к частному» обычно навевает на новичков скуку. Здесь же с первых страниц Янк предлагает как можно больше делать (установить специальное ПО, настроить его, подключить БД). И потом, где-то в середине книги читатель начнёт знакомиться с ООП, типами данных, функциями и многими другими базовыми понятиями.
В результате получается лёгкий и полезный процесс изучения PHP, совмещённый с получением полезных навыков. За свою цену — отличное предложение.
PHP – это просто. Программируем для Web-сайта, Андрей Шкрыль
Если предыдущая книга посвящена получению знаний через практику, то здесь вы найдёте ещё больше: максимум примеров и иллюстраций, минимум описаний и рассуждений. Из «PHP – это просто» вы узнаете, как правильно установить и настроить серверное ПО, подключить и управлять БД, работать с готовыми шаблонами и решениям.
Таким образом, книга станет великолепным спутником тем, кто сейчас учится на курсах или пытается самостоятельно постичь PHP или веб-разработку в целом.
Разработка веб-приложений с помощью PHP и MySQL, Люк Веллинг, Лаура Томсон
Ещё одна книга практической направленности. Она разбита на 5 частей: знакомство с PHP, MySQL, безопасность, расширенные приёмы и популярные задачи. В последней части вы наглядно увидите, как создаётся почтовый клиент, организуется аутентификация пользователей и взаимодействие с социальными сетями, как работает корзина в интернет-магазинах. К сожалению, всё это делается при помощи Laravel 5.2 (сегодня актуальна версия 5.7), однако это незначительное упущение. В остальном книга определённо заслуживает того, чтобы её прочесть.
А какие книги по PHP на русском языке посоветуете вы?












