php практика для начинающих
30+ PHP Best Practices для начинающих
PHP является наиболее широко используемым языком для программирования в сети. Вот тридцать лучших практик для начинающих, желающих лучше понять основы.
Кстати, если вы не уверены в том, что сможете реализовать некоторые из этих вещей самостоятельно, вы можете найти экспертов по PHP в Envato Studio, которые помогут вам. Они могут исправлять ошибки или настраивать ваш сайт для вас, и они являются опытными разработчиками, поэтому они будут следовать рекомендациям при завершении работы.
1. Подружитесь с руководством по PHP
2. Включите отчеты об ошибках
Сообщения об ошибках в PHP очень полезны. В вашем коде вы найдете ошибки, которые вы, возможно, не заметили ранее, поскольку не все ошибки не позволяют приложению работать. Существуют различные уровни строгости в отчетах, которые вы можете использовать, но E_ALL покажет вам большинство ошибок, критических и предупреждений.
Когда ваше приложение будет готово к работе, вы захотите отключить создание отчетов об ошибках, иначе ваши посетители увидят странные ошибки, которые они не понимают.
3. Попробуйте IDE
IDE (интегрированные среды разработки) являются полезными инструментами для любого разработчика. Хотя они не для всех, IDE определенно имеет свое место. IDE предоставляют такие инструменты, как
4. Попробуйте PHP Framework
Вы можете многое узнать о PHP, просто экспериментируя с PHP-фреймворками. Такие фреймворки, как CakePHP или CodeIgniter, позволяют быстро создавать приложения PHP без необходимости быть экспертом по PHP. В некотором смысле они почти как учебные круги PHP, которые показывают вам, как должно выглядеть приложение PHP, и показывают ценные концепции программирования (например, отделение логики от дизайна и т. Д.).
Опровержение: я лично не рекомендовал бы, чтобы новички использовали структуру. Изучите основы в первую очередь. 🙂
5. Изучите СУХОЙ подход
Задачи на основы языка PHP
Учебник PHP
Практика
Важное
Регулярки
Работа с htaccess
Файлы, папки
Сессии и куки
Работа с БД
Практика по работе с БД в PHP
Перед чтением см. новые уроки раздела «Важное», которые появились выше.
Практика
Движок PHP
Продвинутые БД
Аутентификация
Практика
ООП и MVC
Абстрактные классы и интерфейсы
Трейты
ООП Магия
Практика
Практика: классы как набор методов
Перед решением задач изучите теорию к данному уроку.
Примеры решения задач
Задача
Задача. Создайте переменную $var и присвойте ей значение ‘hello’. Обращаясь к отдельным символам этой строки выведите на экран символ ‘h’, символ ‘e’, символ ‘o’.
Задача
Задача. Напишите скрипт, который считает количество секунд в часе.
Если нам нужно получить количество секунд в сутках, то умножим еще и на 24 (так как в сутках 24 часа):
Задача
Задачи для решения
Работа с переменными
Создайте переменную $a и присвойте ей значение 3. Выведите значение этой переменной на экран.
Создайте переменные $a=10 и $b=2. Выведите на экран их сумму, разность, произведение и частное (результат деления).
Создайте переменные $c=15 и $d=2. Просуммируйте их, а результат присвойте переменной $result. Выведите на экран значение переменной $result.
Создайте переменные $a=10, $b=2 и $c=5. Выведите на экран их сумму.
Создайте переменные $a=17 и $b=10. Отнимите от $a переменную $b и результат присвойте переменной $c. Затем создайте переменную $d, присвойте ей значение 7. Сложите переменные $c и $d, а результат запишите в переменную $result. Выведите на экран значение переменной $result.
Работа со строками
Создайте переменную $text и присвойте ей значение ‘Привет, Мир!’. Выведите значение этой переменной на экран.
Создайте переменные $text1=’Привет, ‘ и $text2=’Мир!’. С помощью этих переменных и операции сложения строк выведите на экран фразу ‘Привет, Мир!’.
Создайте переменную $name и присвойте ей ваше имя. Выведите на экран фразу ‘Привет, %Имя%!’. Вместо %Имя% должно стоять ваше имя.
Создайте переменную $age и присвойте ей ваш возраст. Выведите на экран ‘Мне %Возраст% лет!’.
Обращение к символам строки
Создайте переменную $text и присвойте ей значение ‘abcde’. Обращаясь к отдельным символам этой строки выведите на экран символ ‘a’, символ ‘c’, символ ‘e’.
Дана произвольная строка, например, ‘abcde’. Поменяйте первую букву (то есть букву ‘a’) этой строки на ‘!’.
Создайте переменную $num и присвойте ей значение ‘12345’. Найдите сумму цифр этого числа.
Практика
Напишите скрипт, который считает количество секунд в часе, в сутках, в месяце.
Создайте переменную, присвойте ей число. Возведите это число в квадрат (это значит нужно умножить его само на себя). Выведите его на экран.
Работа с присваиванием и декрементами
Переделайте этот код так, чтобы в нем использовалась операция .=. Количество строк кода при этом не должно измениться.
Переделайте этот код так, чтобы в нем использовались операции ++ и —. Количество строк кода при этом не должно измениться.
🐘 Самоучитель для начинающих: как освоить PHP с нуля за 30 минут?
PHP (от англ. препроцессор гипертекста) – язык программирования общего назначения, широко используемый в веб-разработке. Сценарии PHP можно внедрять непосредственно в код HTML. В этой статье мы пройдемся по основам программирования на PHP: синтаксису, объявлению переменных, массивам, условным операторам, циклам и функциям. Также запустим двумя способами веб-сервер на локальной машине и соберем страничку из нескольких файлов PHP и фреймворка Bootstrap. В конце статьи приведем список литературы и бесплатные курсы по PHP для новичков.
Редакторы кода
Для удобного кодинга нам понадобится редактор кода (IDE). Популярные:
Как запустить PHP в Atom
Устанавливать PHP на компьютер и запускать веб-сервер мы будем в конце статьи в разделе «Собираем HTML-страницу». А пока для запуска PHP-сценариев достаточно добавить плагин Script в редакторе Atom.
Рис. 1. Запуск php-скрипта в редакторе 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/:
Рис. 6. Запуск встроенного в PHP веб-сервера
Если мы получили ошибку 404, значит сервер запущен.
XAMPP
Рис. 7. Запуск сервера с помощью XAMPP
Рис. 8. Запуск сервера с помощью XAMPP на Windows
14. Собираем страничку
Структура простого HTML-документа выглядит следующим образом:
Воспользуемся фреймворком Bootstrap, чтобы ускорить создание странички. Скачивать ничего не нужно, просто вставим ссылку на Bootstrap в тег :
Откроем файл header.php и вставим в него следующий код:
Рис. 9. HTML-страница, собранная из php-файлов
Литература
Шпаргалки
YouTube-каналы и курсы
Бесплатные курсы на русском языке:
Курс PHP для начинающих
После прохождения вы научитесь с нуля писать свои первые программы на PHP. Много практики и примеров!
Об авторе курса
Привет!
Меня зовут Артём Ивашкевич.
Я увлекаюсь программированием более 10 лет. В данный момент я работаю PHP‑разработчиком в компании ВКонтакте.
В свободное от работы время я пишу статьи о разработке и обучаю программированию других людей.
Если вам интересно узнать обо мне чуть больше, прочитайте историю как я стал программистом.
Привет!
Меня зовут Артём Ивашкевич.
Я увлекаюсь программированием более 10 лет. В данный момент я работаю PHP‑разработчиком в компании ВКонтакте.
В свободное от работы время я пишу статьи о разработке и обучаю программированию других людей.
Если вам интересно узнать обо мне чуть больше, прочитайте историю как я стал программистом.
Что вы получите после прохождения курса PHP для начинающих
В ходе прохождения этого курса вы изучите основы PHP и наиболее востребованные возможности этого языка. Данные уроки предназначены для обучения программированию на PHP начинающих с нуля и содержит множество примеров, с которыми постоянно приходится сталкиваться при разработке PHP-приложений.
Здесь я также постарался максимально подробно рассмотреть базовые принципы разработки в целом, не фокусируясь только на языке PHP. Зачастую именно этих знаний не хватает большинству людей, впервые сталкивающихся с программированием. Многие ученики после прохождения нескольких уроков говорят, что более понятных курсов они ещё не встречали.
Начинается обучение с того, как вообще работает PHP. Рассказывается о современных инструментах и подходах. И, конечно же, даются домашние задания, которые я лично проверяю. Здесь мы с вами и установим локальный веб-сервер, и научимся работать в IDE, и, конечно же, напишем свои первые полноценные приложения на PHP, например, фотоальбом.
Этот курс позволит освоить базовые принципы в PHP с нуля, без которых не обойтись ни одному будущему разработчику. Здесь вы получите необходимый фундамент, который позволит вам идти дальше, изучая более интересные и сложные темы в мире программирования.
Отзывы учеников
Евгения Филиппова
Преимущества
Проверка домашек
К урокам есть задания для самостоятельной работы. Ко многим темам накопилось уже более 500 комментариев с детальным разбором ДЗ.
Быстрая помощь
Все ученики имеют доступ к общему Telegram-чату, в котором можно задать вопросы и получить ответ в течение 10 минут. Нас уже больше 1000!
Бесплатно
Не, ну вы видели эти цены на курсы в десятки тысяч рублей?
Здесь вы можете пройти обучение бесплатно!
Коммьюнити
Участники нашего сообщества помогают друг другу. Здесь вы можете получить совет от практикующих программистов.
Программа курса
Введение в курс PHP для начинающих
Настройка окружения
Основы разработки
Циклы и массивы
Взаимодействие с пользователем
Работа с файлами
Ещё немного практики
Заключение
Для чего нужен PHP начинающему программисту
Все описанные выше проблемы можно решить с помощью скриптового языка программирования PHP. С его помощью такой компонент сайта как меню можно вынести, к примеру, в отдельный файл и подключить его автоматически на всех страницах. Если потребуется добавить новую ссылку в меню, достаточно будет добавить её лишь в одном месте, и после этого на всех страницах сайта будет новое меню.
Язык PHP позволяет создавать динамически наполняемые страницы, в отличие от статических HTML-страниц. Он делает процесс управления сайтом более простым и менее затратным. Наш онлайн курс PHP для начинающих с примерами поможет овладеть основами этого скриптового языка и научиться создавать динамические сайты, которые легко поддерживать.
Почему сейчас нужны PHP-разработчики
Подавляющее большинство компаний в настоящее время рассматривают наличие собственного сайта как необходимое условие для развития и расширения бизнеса. Кроме того, большинство сфер нашей жизни стремительно автоматизируются, начиная с сервисов для доставки еды и заканчивая онлайн-сервисами банков.
Именно поэтому услуги PHP-разработчиков пользуются стабильно высоким спросом, а специалисты в данной сфере востребованы повсеместно. Сегодня PHP является одним из самых популярных и востребованных языков программирования. Он применяется для создания огромного количества интернет-ресурсов, включая популярные соцсети, блоги и популярные онлайн-сервисы.
Какие преимущества имеет обучение на PHP.Zone?
Программа сформирована таким образом, чтобы обучение PHP было доступно как абсолютным новичкам, так и людям, имеющим определенные знания и навыки в данной сфере. Курс разбит на уровни, а они в свою очередь на уроки, размещенные в порядке постепенного возрастания сложности. PHP уроки представляют собой статьи, дополненные видеоуроками. Кроме того, получить ответы на интересующие вас вопросы можно в комментариях к уроку. В конце каждого занятия представлено домашнее задание, выполнение которого позволит закрепить полученные знания и отработать их практическое применение.
Изучать темы можно в различной последовательности. Однако я рекомендую проходить уроки именно в том порядке, в котором они размещены на сайте. Так вам будет гораздо проще понять материал, не встречая на своём пути ещё не изученные темы.
Интерактивный подход
Немаловажную роль играет и способ подачи учебного материала. Бывает так, что нам трудно воспринимать какую-то информацию в текстовом формате. Именно поэтому курс для начинающих я дополнил видео-уроками. Они по большей части повторяют то, что написано в тексте уроков, но с их помощью вы можете, что называется, «увидеть и повторить». На видео я пишу код в реальном времени и комментирую происходящее. Большинству начинающих нравится подобный опыт и они выбирают именно этот формат.
Остались вопросы?
PHP: 20+ практик, которым стоит следовать
Эта статья постарается научить вас нескольким лучшим практикам одного из самых популярных языков программирования в мире. Проблема в том, что многие разработчики, не только начинающие, но даже опытные PHP программисты, не уделяют им должного внимания.
Не так редки случаи, когда люди теряли высокооплачиваемую работу только потому, что не заостряли свое внимание на особенностях языка. Помните, что довольно сложно разобраться во всем за одну ночь.
1. Комментируйте свой код
Комментирование намного важнее, чем вы могли подумать. Очень грустно видеть начинающих разработчиков, да и закалённых программеров, которые не комментируют свой код просто потому что им лень.
Комментарии не только позволяют другим разработчикам понять ваш код, но и помогут разобраться вам самим, если придется вернуться к нему спустя какое-то время. Допустим, сегодня вы написали критически-важную функцию, и вы помните как она работает спустя день, два или даже неделю. Но, скорее всего, вы забудете о ней через пару месяцев.
Комментирование сделает ваш код понятным каждому (даже самим себе).
2. Используйте стандарты оформления кода
Стандартов оформления кода необходимость придерживаться (см. PSR-2, прим. пер.). Если разработчики в одном проекте будут использовать разные стандарты, репозиторий может превратиться в сущий ад.
Исходный код может стать абсолютно не поддерживаемым, если каждый, работая над ним, будет изобретать свой собственный стандарт оформления. Есть даже разработчики, которые не потрудились придерживаться хоть какого-нибудь стандарта, их код начал выглядеть как большая куча мусора и не более того.
Строгое следование определенному стандарту в оформлении кода даёт возможность другим программистам провести отладку вашего кода, и позволит вам самим присоединиться к сторонним проектам.
3. Никогда не используйте короткие теги
Это простое злоупотребление может стать причиной конфликтов с xml парсерами, а также может сделать ваш код несовместимым с будущими версиями PHP.
4. Используйте осмысленные названия переменных и функций
Если вы не применяете стандарты присвоения имен переменных, а используете общие и ничего не значащие имена, это может стать болезненным опытом для программистов, разбирающихся в вашем коде. Это очень плохая тенденция, которой ни в коем случае не стоит придерживаться.
5. Отступы и длина строк
Я уже говорил о важности следования стандарту оформления кода, но отдельно стоит сказать про отступы и длину строк.
6. Одинарные или двойные кавычки
Запомните разницу в их работе и используйте должным образом.
7. Никогда не используйте функции внутри циклов
8. Используйте одинарные кавычки в индексах массивов
Особенность PHP в том, что он воспринимает индексы без кавычек как константы, и, если эти константы не были объявлены ранее, они будут самоопределены (self-defined), что вызовет предупреждение (warning). Это не остановит выполнение кода, но ошибка есть ошибка.
9. Лучший способ вывода строк
Взгляните на кусок кода, представленный ниже, и попробуйте догадаться, какое выражение выполнится быстрее, а какое окажется медленнее.
Представьте, но последняя запись, та, которую реже всего можно встретить в коде, выигрывает в тестах производительности. Первая запись, очевидно, проигрывает, потому что функция «print» работает медленнее, чем «echo». Третья строка выигрывает у второй за счет того, что операция конкатенации обрабатывается быстрее, чем переменные внутри строки.
Малоизвестный четвертый вариант побеждает, потому что в нем нет операций работы со строками, а всего лишь список строк, разделенных запятыми.
10. Включайте вывод ошибок (Error Reporting) в процессе разработки
В PHP есть очень полезная функция, error_reporting(), которая может помочь найти различные проблемы в вашем приложении.
PHP поддерживает несколько уровней показа ошибок: E_NOTICE, E_WARNING, E_PARSE и тд., но вы должны использовать E_ALL для вывода всех типов уведомлений. Не забудьте выключить показ ошибок, когда закончите работу над кодом, чтобы пользователи не испугались невразумительных сообщений.
11. Не забывайте о принципе DRY
Это концепция применима не только к PHP, но и к любому другому языку программирования, таким как Java, C++ и тд. Простой пример кода позволит вам понять принцип DRY.
После применения принципа DRY, код будет выглядеть так:
12. Избегайте излишнюю вложенность
Используйте условные операторы таким образом, чтобы избежать множественного вложения. Это не только очень плохая практика, но и выставит ваше код в неудобном свете перед другими разработчиками.
13. Никогда не кладите phpinfo() в корневую директорию
Вы всего лишь размещаете файл на вашем сервере и получаете исчерпывающую информацию. Но множество разработчиков допускают ошибку, помещая файл в корневую директорию, т.к. это может открыть множество лазеек для хакеров.
Лучшим вариантом будет удалить файл, как только вы закончите с ним. Не так уж и страшно потратить пару секунд, если он понадобится вам снова.
14. Сделайте документацию по PHP вашим лучшим другом
У них есть новый дизайн (в бэта версии), если хотите. Другой полезной чертой документации PHP являются крайне полезные комментарии.
15. Время использовать IDE
IDE расшифровывается как Integrated Development Environment (интегрированная среда разработки). Она может существенно облегчить процесс разработки. IDE обладает такими крутыми штуками как: Подсветка синтаксиса, Автодополнение кода, Навигация, Отладка и др., что сделает вас намного продуктивнее и поможет вам писать хороший код с минимумом ошибок.
Вот несколько IDE для PHP: NetBeans, phpDesigner, phpStormи т.д. Выбери то, что больше понравится.
16. Попробуйте PHP фреймворки
Если вы изучили основы PHP, значит самое время перейти к фреймворкам. Их для PHP целые десятки, большинство из них основано на модели MVC (Model-View-Controller).
Из них вы подчерпнете много новых интересных вещей для изучения. CakePHP, CodeIgniter, Zend, Symphony позволят вам создать потрясающие приложения на PHP.
17. Запускайте PHP локально
Если вы работаете над PHP приложением, то вам хотелось бы вести весь процесс разработки на своем компьютере, без подключения к удаленному серверу.
Для этого вам нужны лишь веб-сервер Apache и PHP. Если появится необходимость в базе данных, воспользуйтесь MySQL.
Конечно, вы можете установить их раздельно, но лучше будет воспользоваться готовым решением: XAMPP, WAMP, MAMP. Они очень просты в настройке и позволят развернуть локальный сервер за считанные минуты.
18. ООП
Концепция объектно-ориентированного программирования впервые была представлена в PHP 4, но полноценная его поддержка появилась в PHP 5.
Но сейчас самое время перейти к объектно-ориентированному программированию, поскольку оно обеспечивает более высокий уровень гибкости и может значительно сократить размер исходного кода. Ваш код станет выглядеть намного более организованным.
19. Обновляйте PHP
Это очевидный пункт, но множество программистов неохотно берутся за обновление. Вместе с новой версией мы можете получить улучшение производительности и новые возможности. Нет абсолютно ни единой причины, пропускать обновления.
Эти новые возможности могут сделать вашу программистскую жизнь намного интереснее и проще. И не стоит забывать, что в новых версиях появляются исправления багов и улучшения, связанные с безопасностью.
20. Взаимодействуйте с другими разработчиками
Но если вы будете думать также, то перекроете себе путь в мир изучения новых замечательных технологий.
Спрашивайте ваших друзей или опытных разработчиков на всевозможных форумах, таких как Stack Overflow, Dream In Code и т.п. В мире много людей, которые всегда готовы протянуть вам руку помощи.
От автора перевода:
Пост является переводом оригинальной статьи Aritra Roy (https://www.corephp.com/blog/php-best-practices-that-you-must-follow/), опубликованной в августе 2013, но до сих пор сохранившей актуальность.
Помогаю развивать интернет-проекты. Пишу про веб-разработку, маркетинг и дизайн.