Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Back-End
Code

Лучший способ изучения PHP

by
Difficulty:BeginnerLength:LongLanguages:
This post is part of a series called The Best Way to Learn... .
The Best Way to Learn JavaScript

Russian (Pусский) translation by Anton Lisovsky (you can also view the original English article)

Изучение чего-либо с нуля практически всегда является непростым испытанием, вы не понимаете с чего стоит начать, либо вообще не начинаете, так как не уверены стоит-ли это того. Я ненавидел копаться в особенностях синтаксиса C++, когда всё что я хотел изучить были концепции программирования. Вероятно вы согласитесь со мной, что это не самое интересное занятие.

Тут-то на помощь и приходит серия Nettuts+ "Лучший способ изучения". Цель этой серии статей, предоставить вам основу, путеводитель, план действий по изучению темы, которая вас интересует. Вам не стоит искать лучшие ресурсы, сортировать их и пытаться понять, что стоит учить в дальнейшем. Всё что вам нужно находиться здесь. Вам остаётся лишь прочитать эту статью шаг за шагом.

Сегодня, мы разберём лучший способ изучения PHP.

Задание 1: игнорируйте скептиков

Если вы читаете это, скорее всего вы много искали и пытались решить какой язык стоит изучать и как. Без сомнения вы натыкались на множество статей о том, как язык X гораздо лучше PHP - и PHP скоро умрёт и о нём все забудут.

Ненавистники будут ненавидеть!

Как гласит популярная фраза ненавистники будут ненавидеть! (haters gonna hate!). PHP всегда занимал первенство когда дело касалось создания веб-сайтов и на это есть веская причина. Это надёжный язык, обладает отличной документацией и огромным количеством ресурсов для обучения, добавьте к этому множество отличных инструментов основанных на нём.

Также не стоит забывать разнообразие различных фреймворков написанных на PHP и хостингов, которые поддерживают данный язык. Вам нравится Heroku, вам нравятся услуги, которые они предоставляют? Не беспокойтесь, применение PHP всегда будет востребованным!

Задание 2: установите PHP с помощью [X]AMP

Tut image

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

На этом этапе вам и пригодиться XAMPP. В него входят Apache, ваш веб-сервер, вместе с базой данных mySQL, а также сам PHP, тем самым вы сэкономите время и усилия во время установки. 

Если же у вас есть желание вы всегда можете установить всё необходимое самостоятельно.

Задание 3: изучите основы

Прежде чем я отправлю вас изучать различные источники информации посвящённые PHP, обратите внимание на нашу серию для абсолютных новичков, ведёт её никто иной, как ваш любимый редактор Jeffrey Way.

В этой серии, в течении курса 40+ скринкастов, мы разберём всё необходимое, установку PHP, переменные, функции, а также работу с MySQL.

Вы не найдёте лучшего введения в язык PHP, чем эта серия, этот курс не бесплатный, но вы можете подписаться на Tuts+ Premium всего лишь за $19, это стоит того!

Задание 4: зарегистрируйтесь на Khan Academy и Lynda

Tut image

Khan Academy может показаться странным выбором, учитывая то что там нет уроков посвящённых PHP, но поверьте мне, это хороший выбор. Те концепции, которые вы хотите узнать о PHP, можно найти в курсе основ программирования. Если вы новичок в программировании, этот курс будет для вас отличной стартовой точкой.

Другое место с которого стоит начать - это Lynda. На Envato мы уважаем людей, которые преподают там -- контент всегда замечательный и темы освящаются от начала и до конца. Также вы найдёте много разных тем, которые можно и стоит изучить. Если вас интересует определённый урок, начать стоит именно здесь.

Задание 5: прочитайте несколько хороших книг

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

Если вдруг вам наскучат главы с введением в основы языка, ничего страшного, просто пропустите их и переходите к чтению тех страниц и уроков, с которыми вы не знакомы.

Nettuts image

PHP Solutions: Dynamic Web Design Made Easy

АвторDavid Powers

"Очередная книга о PHP, спросите вы? Не все кто использует PHP являются программистами. PHP один из самых популярных динамических языков для создания веб-сайтов, который используется дизайнерами, если их веб-сайт требует динамический функционал, множество пользователей - новичков, хотят создать веб-сайт. Эта книга подойдёт, как нельзя кстати."

Nettuts image

PHP for Absolute Beginners

АвторJason Lengstorf

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

Nettuts image

PHP Cookbook

АвторAdam Trachtenberg

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

Задание 6: создайте что-нибудь простое

Самое подходящее время создать что-нибудь простое, используя полученные знания.

Отлично! Со всеми новыми знаниями в голове вы должны себя чувствовать, как рок звезда. Если нет, не волнуйтесь, это совершенно нормально. Поговорите со мной позже, мы сможем поделиться эмоциями, насколько глупыми мы себя чувствуем.

Пришло самое подходящее время, создать что-нибудь простое, используя недавно приобретённую информацию. Сейчас не стоит делать что-либо сложное, ошибиться и не закончить проект -- на данном этапе это будут довольно опустошающие впечатления. Представьте как будто вас отвергли впервые. Теперь умножьте это на несколько сотен и вы сможете почувствовать что-то подобное.

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

Задание 7: создайте что-нибудь более сложное

Чувствуете себя лучше, теперь? Всё правильно, так и должно быть! Вы создали что-то с нуля. Если бы это был я, я бы точно был воодушевлён. Стоит воспользоваться этим чувством и начать получать ещё больше знаний.

Несмотря на то что CRUD приложения является неплохим стартом, вам стоит сделать что-то более сложное. Создание простой системы для логина пользователей будет отличной идеей.

Вам стоит узнать как работают сессии, как реализована базовая аутентификация, как позаботиться о безопасности и много чего ещё.

Обратите внимание: если вам нужны наставление, перейдите по этой ссылке.

Задание 8: попробуйте поработать с Lean, легкий фреймворк

Tut image

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

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

Обратите внимание: не хочу хвастаться, но мы создали подробный курс, охватывающий почти все важные части фреймворка Codeignier, легкий, но в тоже время мощный фреймворк. Если вам больше нравиться Kohana, мы поможем вам разобраться!

Задание 9: попробуйте Full Stack фреймворк

Tut image

Теперь когда у вас есть опыт работы с легким фреймворком, стоит обратить внимание на альтернативную технологию -- full stack фреймворк. Full stack фреймворк обычно включает в себя больше функций, включая генераторы кода, ORM и встроенный сервер. Хорошим выбором будет CakePHP -- PHP аналог Rails.

Причина по которой мы предлагаем ознакомиться с ним позже, является то что много 'магии' заключено в функциях этого фреймворка. Без хорошего понимания, как работает легкий фреймворк, будет сложно разобраться в том как устроена и работает такая технология, как CakePHP.

Обратите внимание: команда Nettuts+ рекомендует FuelPHP и Laravel, оба они являются хорошим, современным PHP фреймворком.

Дополнительное чтение

Задание 10: создайте что-нибудь потрясающее

Со всей этой информацией за плечами, настало время создать что-либо действительно потрясающее. Это будет ваш финальный пункт назначения в изучении PHP -- и выбор что сделать остаётся за вами.

Так что-же вы можете создать? Вот несколько идей:

  • Создание блога - всегда неплохая идея. В качестве вдохновение обратите внимание на технологии с открытым исходным кодом, разберитесь в архитектуре приложение и необходимых функциональных требованиях.
  • Немного старомодно, но неплохим выбором может быть создание форума. Права для модераторов и счётчик постов. Если вам нужен путеводитель, данный туториал отличное место для старта.
  • Если же всё это вам кажется скучным, создайте проект для управления приложениями или todo список. Над ними всегда интересно работать и вы скорее всего будете использовать эти приложения сами.

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

Задание 11: становитесь профессиональным разработчиком

Во время процесса разработки удобная рабочая среда также важна, как и написание кода.

Во время процесса разработки удобная рабочая среда также важна, как и написание кода. Совсем недавно, обычная среда разработки была значительно улучшена, в рабочий процесс добавились такие технологии, как система контроля версий, а также platform as a service (PaaS).

Система контроля версия освобождает от управления различными версиями вашего приложения, при помощи PaaS вам не придётся делать работу системного администратора. 

Информацию об этом не так просто найти, но вот вам хороший скринкаст, как начать работать с Git.

Задание 12: будьте в курсе новинок и событий

Новые способы разработки и инструменты появляются каждый день.

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

Нашли баг в каком-нибудь фреймворке? Отправьте патч. Добавили новый функционал? Уберите патч! Это не только добавит вам карму, но также улучшит ваше резюме.

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

Задание 13: исследуйте и будьте открытым

Tryruby

Вы стали мастером PHP, но это не значит, что стоит расслабляться. PHP великолепный язык, но в нём есть свои недостатки и он не может выполнять абсолютно все задачи.

Постоянно появляются новые языки, которые решают специфические задачи, не стоит их упускать из виду. Изучение чего-то нового не значит, что это будет лучше приобретённых ранее знаний, или что вы забудете, то что изучили ранее? Не считая звёздных воинов, конечно же. Новые фильмы были отвратительны.

Ruby, Python и Clojure, языки, которые не перестают меня удивлять и я считаю они стоят вашего внимания. Не думайте, что они 'лучше' чем PHP, но каждый из них, выполняет задачи уникальным способом и возможно вы откроете для себя подход, который понравиться вам. У нас не очень много контента касательно Clojure, однако есть отличные туториалы по Ruby и Python.

Заключение

Ну что-же, это конец нашего пути! Надеюсь этот план поможет вам стать мастером PHP и захватить мир.

Если вам кажется, что я упустил из виду какие-либо полезные ресурсы, сообщите об этом в секции для комментариев ниже и я обновлю список в данной статье. Спасибо большое, что прочитали!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.