что нужно чтобы выучить php
PHP: с чего начать, как учить и что в итоге знать?
Введение
Ровно 2 месяца назад я спрашивал тут о том, как стать профессиональным веб-разработчиком за 7 лет (http://habrahabr.ru/qa/21830/). Сразу стало понятно, что без английского, с которым у меня все не очень гладко, не обойтись. За 2 месяца я подтянул свои знания английского на уровне чтения технической литературы, обзавелся маком и подтянул знания в html5.
К делу
Настало время изучения php. Хотя я его уже учил. Знаю типы данных, функции, mysql на уровне простых запросов, немного ооп и небольшую часть библиотеки GD2. Очень плохо с практикой, то есть не знаю как применять все это в деле. Я смогу написать очень простую систему регистрации с хранением данных в mysql базе; вход с помощью cookie и сессий; гостевую книгу и какой-нибудь простой поиск.
Вопросы
На первые несколько пунктов попробую написать рекомендации в свободной форме.
Первое и самое главное — чтобы хорошо изучить программирование на РНР, надо хорошо изучить программирование. Это очень важная вещь. Большая часть людей, пишущих на РНР, не имеют ни малейшего представления о программировании. Даже о таких базовых вещах, как форматирование кода, отладка, профайлинг, обработка ошибок, файловые операции. Можно заметить, что я не говорю об ООП. Это совсем отдельная тема, ООП надо учить специально. К сожалению, из 100 человек, которые говорят, что знают ООП, 90 являются банальными копипастерами, выучившими синтаксис, но не понимающими смысла объектов. Но чтобы играть в шахматы, недостаточно знать, как ходят фигуры.
Ещё неплохо бы ответить себе на вопрос — для чего ты хочешь выучить программирование на РНР? Вопрос совсем не праздный. Многие люди смешивают в нем кучу разных понятий. К примеру, здесь уже упоминали CMS. и действительно, если речь идёт о зарабатывании денег, то кастомизация Джюмлы и написание к ней говномодулей в финансовом плане куда более выгодны, чем умение писать что-либо с нуля. Для фриланса, во всяком случае.
Вариантов масса! поэтому нужно определиться сначала, чего хочется.
Там выше говорили про JS+CSS — не надо слушать, это полная ерунда. Фронтенд программирование — совсем отдельная вещь, куда больше визуальная, чем абстрактная. И, слава богу, все больше работодателей начинают понимать это. Хотя опять же — если фрилансишь и на все руки мастер — то без этого никуда.
Но если работать хардкорным серверным программистом в команде, то об HTML/JS/CSS нужно иметь только общее представление (поскольку тексты на этих языках являются, вообще-то, практически единственным результатом работы РНР).
А вот что обязательно нужно хорошо знать из сопутствующих технологий — это протокол НТТР, устройство файловой системы, работа c командной строкой в линуксе.
Теперь по остальным
Mysql всё ещё является краеугольным камнем хранения данных в вебе. Нужно знать и понимать джойны, индексы
Фреймворки — обязательно. Тут, правда, стоит проблема выбора, но принципиальной разницы между ними нет. Yii — неплохой выбор.
Гитхаб тебе не нужен, знать его не обязательно. Знать надо git.
А вот что является обязательным для веб-программиста — это умение пользоваться гуглем. Хотя бы на уровне умения скопипастить в поисковую форму сообщение об ошибке или написать вопрос «Что такое git» 😉
Потому что для работы в команде какую-либо систему контроля версий знать надо, а git является стандартом де-факто. Понимать принцип работы и базовые команды — чекаут, коммит, пуш.
Обучение PHP с нуля: советы и рекомендации для новичка
Если вы не знаете, как учить язык PHP самостоятельно, наша статья разложит всё по полочкам.
PHP: начало
Итак, вы решили изучать программирование и остановились на PHP, потому что слышали, что этот язык простой в освоении.
Познакомимся с ним поближе:
Более подробно узнать о языке вы можете в статье «Язык программирования PHP: от истоков до современности». А сейчас перейдём к советам и рекомендациям.
Автор в сфере IT, digital, экономики и финансов. Ведет некоммерческий проект для начинающих писателей «ЛитЦех».
Почему выбирают PHP
PHP создан, чтобы облегчить веб-разработку. У него простой синтаксис, на нём несложно программировать, а новички часто выбирают его в качестве первого языка.
PHP активно развивается — сейчас ведётся работа уже над восьмой версией. Это очень гибкий и легко масштабируемый язык. А ещё он прощает ошибки при написании кода: скрипты будут работать даже при грубых недочётах, правда, только до возникновения первой проблемы.
У PHP одно из самых крупных сообществ на FAQ-портале StackOverflow — третье по величине. А это означает, что новичок быстро получит ответы на любые вопросы и легко найдёт наставника, а также инструмент под конкретные задачи своего проекта.
Для PHP создана очень подробная документация на русском, где описана каждая функция. У языка огромный потенциал в плане учебных ресурсов и перспектив в мире веб-разработки.
С чего начать новичку
Учитесь на практике
Наши эксперты в один голос заявляют: если хотите выучить PHP, начинайте писать свой сайт. Это может быть всё что угодно: интернет-магазин, записная книжка, лендинг. Советуем сначала запустить проект на «чистом» PHP, без использования фреймворков. Это займёт гораздо больше времени, но зато вы получите представление о том, как всё устроено изнутри. Затем начинайте учить фреймворки.
Переводите свой проект на один из них — советуем Laravel и Yii. Если знаете один, то выучить смежные будет проще: смысл везде одинаковый, разница в нюансах. Вы столкнётесь с огромным количеством подводных камней, но именно это и будет ценным опытом.
Устройтесь на стажировку
Вы внимательно изучили документацию, прочитали все статьи о PHP, начали писать свой сайт, но что дальше?
Продолжайте двигаться в выбранном направлении: устройтесь на стажировку в компанию из вашего города. Другой вариант — претендовать сразу на позицию младшего разработчика. У компаний разные требования на одну и ту же вакансию, поскольку различается круг решаемых задач. Вполне вероятно, что вам повезёт. В любом случае, выполнение тестовых заданий — это тоже важный опыт для роста.
Однако на начальном этапе не устраивайтесь на удалённую работу: живое общение с профессионалами, которые могут стать вашими наставниками, — очень важный пункт для активного роста.
Изучайте программирование в целом
Так как PHP — это всё же полноценный язык, что бы там ни говорили хейтеры, то к нему применимы правила архитектуры кода объектно-ориентированного программирования. SOLID-принципы работают и для PHP, поэтому ООП знать просто необходимо, если хотите действительно понять его и программировать хорошо, а не бездумно копировать синтаксис и чужие решения.
Рекомендуем прочесть книгу Мэта Зандстра «PHP. Объекты, шаблоны и методики программирования». Она углубит понимание структуры языка. В целом же при изучении старайтесь избегать устаревшей информации — читайте статьи, вышедшие не ранее 2015 года.
Последний совет
Но почти первый по значимости. Поймите: зачем вам учить PHP как первый язык? Это инструмент, выбирать который нужно под конкретные задачи. Подход к обучению тоже может быть разным в зависимости от ваших целей.
Вот только три из множества вариантов возможных целей. Единственный минус при самостоятельном изучении языка — путь этот долог и тернист. Если вы ищете способы, как быстро выучить PHP и сделать это максимально применимым на практике образом, обратите внимание на наш курс по PHP-разработке.
С чего начать обучение PHP, чтобы стать сильным программистом
Дата публикации: 2016-07-06
От автора: во всемирной паутине физическая сила ничего не значит! Вы можете с любой силой жать на клавиши, но результат от этого не изменится. В интернете считается сильнее тот, у которого больше опыта и знаний. Хотя мой знакомый так «накачал» железо своего ПК, что стал бояться его! Но это со всем из «железной» оперы. А мы сегодня выясним в PHP с чего начать обучение, чтобы стать сильным программистом.
«Чайная» болезнь
Конечно, пардон, но вы «чайник». Как я догадался? Ну, потому что только новички ставят перед собой такие вопросы. И в этом «звании» нет ничего оскорбительного, потому что у вас наблюдается столько желания к обучению, что можете «закипеть». А это уже признак того, что все удастся!
Изучение PHP, как и любой другой науки, следует начинать с самого начала, то есть с теории. Нужно понять, что представляет собой этот язык программирование: его возможности, основная сфера применения, особенности и так далее. Это важный аспект, поскольку новички из-за нехватки базовой теории, общих представлений о том или ином языке, часто ошибаются в выборе. И после этого с обманутыми ожиданиями бросают обучение после нескольких часов «изысканий». Постараюсь немного приподнять эту завесу, чтобы вы поняли не только, с чего начинать изучение PHP, но и зачем.
Несколько особенностей языка, которые следует знать новичкам:
Чаще всего PHP применяется в сайтостроении, но с его помощью можно разрабатывать и клиентские приложения.
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Является серверным языком – его код выполняется на стороне сервера, поэтому для изучения вам понадобится локальный сервер или соответствующая сборка.
Где начало?
Если собрались изучать программирование на PHP, а с чего начать – не знаете, тогда этот раздел для вас. Начинать следует с основ: с особенностей синтаксиса языка, типов данных, переменных, их инициализации, циклов, объявления функций и т.д. Даже если все это вы изучали в других программных дисциплинах, то придется ознакомиться заново, поскольку PHP имеет ряд особенностей.
Но это будет потом, а первоначально нужно определиться с основной литературой для постижения программной науки. К выбору источников следует подойти весьма серьезно.
Выберите несколько, и прочитайте пару страниц из каждого. Стиль изложения главного источника должен быть максимально прост и понятен. От этого зависит успех обучения в целом.
Для постижения PHP можно использовать различные самоучители, специализированные пособия для «чайников». Хорошо бы сюда еще прибавить один или несколько толковых видеокурсов: визуализация информации значительно повышает усвоение материала. Но еще раз повторюсь: с чего начать изучать PHP и с выбором источников определяетесь вы сами.
Немного личного
В продолжение прошлого раздела хочу поделиться «граблями», на которые наступил во время своего студенчества. По «невезухе» попал я в группу сильных студентов, многие из которых уже работали по специальности (программисты). И я на их фоне выделялся явно «невыгодно»: вчера только на системный блок «гавкал», а уже через месяц взялся за освоение программных дисциплин.
В общем, после первого семестра по успеваемости я скатился в самый низ. И все потому, что преподаватели, видя, что большая часть студентов «проглатывает» весь материал даже «нежеваным», старалась дать как можно больше. Но у меня не было того опыта, которым обладали мои согрупники.
На следующий семестр я перевелся в параллельную группу, состоявшую из таких же «чайников». Для них преподы все «раскусывали» и «разжевывали», тщательно поясняли. Здесь дела пошли «на поправку», и я снова стал одним из лучших студентов.
Что нужно для начала разработки
PHP является программным языком, код которого выполняется на серверной стороне. Поэтому для локальной работы с ним нужно соответствующее программное обеспечение. Три основных компонента:
Но установка каждого из них компонентов может занять много времени и сил. Особенно, если вы новичок. Самым оптимальным вариантом является инсталляция программного пакета, включающего в себе все составляющие.
Надеюсь, мне удалось развеять все сомнения и вопросы, «преследующие» новичков. Чувствуете, как стали сильнее? Это вы только начали заниматься PHP. Уже скоро вы будете настоящими «силачами» в программных науках. До новых «тренировок»!
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Разработка веб-приложения на PHP
Создайте веб-приложение на PHP на примере приема платежей на сайте
Как учить PHP с нуля: советы и рекомендации для новичка
Благодаря простоте и открытому коду большинство веб-разработчиков предпочитают создавать интернет-сайты именно на PHP. На нём созданы системы управления контентом WordPress, Joomla! и многие социальные сети вроде вконтакте и фейсбука.
PHP-программирование для начинающих — оптимальный выбор. Этот язык прост в изучении, постоянно развивается, обладает несложным синтаксисом, а PHP-разработчики востребованы на российском и зарубежных рынках.
Почему стоит учить PHP новичку
PHP создали ещё в 1995 году как язык общего назначения. Он стремительно набрал популярность и уверенно держит лидерство в рейтингах до сих пор.
По данным 2021 года на языке PHP создано 79% всех сайтов
Основные преимущества языка PHP:
Нужно упомянуть и недостатки профессии PHP-программиста — не самые высокие заработные платы в IT — в среднем 70 000-100 000 руб. Чтобы зарабатывать больше и быть востребованным разработчиком, одного языка PHP недостаточно, нужно изучать JavaScript и HTML/CSS.
Иногда можно услышать мнение, что PHP станет ненужным, поскольку сайты уступят место приложениям, а PHP заменят другие более современные языки программирования. В статье «Для чего нужен PHP и почему стоит его изучать» рассказали, почему рано хоронить язык и кому стоит его изучать
C чего начать обучение
Для начала ознакомьтесь с документацией языка и изучите вёрстку — HTML и CSS, это поможет быстро вникнуть в ключевые технологии разработки.
Вот что необходимо изучить новичку, чтобы разобраться в PHP-программировании:
Какие книги помогут в изучении PHP для начинающих
Мы собрали в подборку 7 полезных книг для новичков, они замотивируют на обучение, помогут разобраться с терминами и дадут простые задачи для первого опыта программирования.
Как учить PHP, чтобы двигаться вперёд
Вот что поможет нарабатывать практику:
Найдите первых клиентов. Предложите свою услугу по разработке сайта кому-то из близкого окружения или на фриланс-биржах без бюджета.
Когда появится уверенность и понимание принципов программирования, можете начинать искать недорогие проекты на фриланс-биржах или форумах начинающих программистов. Так вы соберёте первое портфолио, с которым уже можно обращаться к потенциальным работодателям.
Устройтесь в компанию. Когда в вашем арсенале будет 2-3 самостоятельно разработанных сайта, можно заняться поиском работы. Учтите,что несмотря на то что работодателю нужны ваши практические навыки, теоретические знания на собеседовании тоже проверяют.
Прокачивайте навыки. Обучение не останавливается с началом работы. Язык постоянно меняется, появляются новые технологии и инструменты. Изучайте нововведения и следите за трендами, читаете профессиональную литературу и перенимаете опыт других разработчиков. Это даст вам карьерное продвижение и повышение зарплаты.
Какие карьерные этапы проходит PHP-разработчик
PHP-программист в своём становлении проходит четыре этапа:
Регулярно повышая свой профессиональный уровень, получая новые навыки, изучая технологии, методы и инструменты, за 3-5 лет PHP-программист может сделать успешную карьеру.
Как прокачивать навыки
Мы проанализировали то, что предлагают популярные школы и собрали ТОП-3 курсов для изучения PHP-программирования, которые подойдут именно новичкам.
Преимущество онлайн-обучения в том, что вы можете осваивать новую профессию не выходя из дома. На курсах вас ждут опытные наставники, много практических заданий, проверка домашних работ, общение в чате с единомышленниками и портфолио, которое поможет в дальнейшем устроиться на работу.
Подведём итоги
PHP — один из самых востребованных языков программирования в веб-разработке. Он прост в изучении, постоянно развивается и приобретает новые возможности.
Чтобы выучить PHP с нуля, начните с синтаксиса и написания простеньких программ. По мере изучения языка и овладения инструментами и технологиями, ваши навыки будут усложняться. Уже через два-три месяца от начала обучения вы сможете начать работать PHP-программистом, а до экспертного уровня можно вырасти за 4-5 лет.
Подборка лучших онлайн-курсов PHP-разработки поможет выбрать подходящую именно вам программу
🐘 Самоучитель для начинающих: как освоить 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-каналы и курсы
Бесплатные курсы на русском языке: