[!] PHP c нуля - Как научиться программировать. Как стать программистом

[IT FOR FREE]

Предварительные замечания

Программа подготовки программиста (PHP + MySQL)

    Введение в архитектуру web-приложений

  1. Обзорно прочитать из книжки [2] материал со стр. 43 по стр. 126. (общее представление о работе системы),
    используйте наш Словарь Программиста для понимания/уточнения неясных терминов (как из этого пункта так и из всех последующих в ходе вашего обучения)
  2. Знакомство с Linux. Настройка среды разработки

  3. Устанавливаем Linux, разбираемся с командной строкой и правами пользователей
  4. PHP -- начало

  5. Устанавливаем и настраиваем PHP и среду разработки для него.
  6. Далее читайте онлайн-учебник по PHP с главы 1 до главы 4 включительно, выполняйте (по желанию, чтобы понять) имеющиеся там упражнения и, если требуется, задавайте вопросы.
  7. После чтения из предыдущего пункта, приступайте к решению этого списка задач, следуя рекомендациям по оформлению (решения задач оформляем в один .php файл, перед каждой задачкой в комментариях ее номер и условие)

    Пояснения по этому пункту:
    Если вы ранее не программировали/почти не программировали, то для начала вам нужно подтянуть способность к алгоритмизации, то есть умению разбить задачу на шаги и решить её имеющимися программными средствами (например, языка PHP),
    если же программировали, то будет полезно проверить как вы усвоили синтаксис PHP.

    Для отработки алгоритмизации вам не потребуется разворачивать систему на компьютере (в случае если у вас есть интернет) - достаточно просто использовать online-интерпретаторы PHP .
    Если решать эти задачи самостоятельно получается с большим трудом, то рекомендуем пройти наш базовый курс по Паскалю, а потом уже вернуться к данной программе.

  8. Возвращаемся к учебнику по PHP и читаем с главы 5 до главы 10 включительно, по мере необходимости запускаем примеры.
  9. Знакомство c SQL

  10. После чего пришло время использовать SQL из PHP:
    Читаем из книги [2] страницы (666-715), особенно важно: стр. 704-715. (предыдущее должно быть уже знакомым)
  11. PHP -- подробности

  12. Из книжки [2] читаем раздел "Работа с сессиями" -- стр. 622-634.
  13. Из книжки [2] читаем: Глава 20. Основы регулярных выражений стр. 377-412
  14. Из книжки [2] читаем: стр. 209-247 ("Функции и области видимости" + "Генераторы").
  15. Из книжки [2] читаем стр. 556-583 ("Итераторы" + "Отражения").
  16. Из книжки [2] читаем стр. 809-815 ("Документирование").
  17. Git: Система контроля версий

  18. Научимся работать с системой контроля версий Git.
  19. JQuery -- как библиотека для программирования браузерных сценариев

  20. Из книги [3] читаем стр. 33 - 250.
    При этом новый для вас материал по-идее должен начинаться со страницы 115 (начиная с неё нужно запускать примеры).
    Исходный код примеров можно получить тут, клонировав данный репозиторий на ваш компьютер.
  21. Первый сайт: Первая CMS

  22. Первая CMS -- вникаем в существующий код и выполняем практические задания
  23. PSR: Стандарты сообщества PHP для написания кода

  24. Изучим стандарты PSR, так мы сможем писать код, следуя общепринятым нормам.
  25. SimpleMVC -- простейший MVC-фреймворк

  26. Материалы раздела o SimpleMVC доступны тут.
  27. Подготовка к практике

  28. Подготовка в практике: В чем особенности раздела.
  29. Управление зависимостями: Использование Composer в своем проекте.
  30. Автоматическое тестирование: Codeception - фреймворк для автоматического тестирования кода
  31. Практика: улучшаем существующее, создаем новое

  32. Реализация дополнения/важная правка к SimpleMVC или иному проекту (останется в основном репозитории IFF)
  33. PHP: учим первый боевой фрэймворк

    Тут есть варианты:

Материалы

  1. Рекомендации к оформлениею материалов
  2. Примеры решения задач.
  3. Правила оформления кода.
  4. Правила именования переменных
  5. Теоретически вопросы по программе подготовки бэкэнд разработчиков (PHP, SQL, LINUX)

Учим параллельно

  1. Технологии frontend-а

Сколько времени это занимает

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

Литература

  1. Стивен Хольцнер "PHP в примерах. Включая версию 6" - Москва, БИНОМ. 2007: http://fkn.ktu10.com/?q=node/7754
  2. Дмитрий Котеров, Игорь Симдянов - PHP7 (в подлиннике) - БХВ Петербург. 2016
  3. Адам Фримен "JQuery для профессионалов" - apress 2013

Дополнительная литература

Также могут оказаться полезными книги:

  1. Учебник PHP для новичков от Трепачёва Дмитрия: http://code.mu/books/php/
vedro-compota's picture

там в первом задании написано - "обзорно прочитать из книжки [2] материал со стр. 43 по стр. 126."
это книга Дмитрия Котерова или Хольцнера?

ответ:
обычно в текстах в квадратных скобках указывают номер источника — внизу есть список литературы, и там — да Котеров идёт под вторым номером)

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

Вот вы учите стеку php.

  1. А для чего вообще сегодня используется чистый php?
  2. Чем ты занимаешься на работе? Что разрабатываете? Хотя бы в общих чертах.
  3. Ведь, насколько я знаю, сайты сейчас в основном делаются на cms-ках. Зачем изобретать велосипед для типовых проектов, если тот же WordPress прекрасно справляется с серверной частью?
  4. Я так понимаю, разработка на чистом php нужна для чего то нестандартного?

Ответ: https://youtu.be/CwE7IfCw344

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

Возможное сообщение для начинающего:

  • 0) Наша программа обучения находится на этой странице (добавь в закладки): http://fkn.ktu10.com/?q=node/7716
  • 1) В первом пункте упоминается книга Котерова -- читай указанные в программе странице для общего понимания (книгу скину).
  • 2) Во втором пункте упоминается книга Хольцнера (тоже скину) -- её следует читать дабы получить основные знания по языку PHP (указанные страницы)
  • 3) В Третьем пункте есть список задач -- их немного, они необходимы для проверки навыков алгоритмизации.

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

_____________
матфак вгу и остальная классика =)