Что нужно знать Junior PHP developer? [закрыт]
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.
Закрыт 7 лет назад .
Что нужно знать чтобы стать Junior PHP developer?
Отслеживать
задан 21 окт 2016 в 12:46
35 5 5 бронзовых знаков
Основы программирования, минимальные приемы (паттерны), конструкцию языка, PSR
21 окт 2016 в 12:48
@ilyaplot это то, что нужно знать в начале обучения, а реально для работы — действительно SQL, HTML и около того.
21 окт 2016 в 13:10
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
SQL/MySQL
Основы синтаксиса SQL требуются практически от всех программистов, будь то веб-разработка, или мобильная, вам же надо немного вникнуть в MySQL и понимать различия между MyISAM и InnoDB. Знать как работают LEFT/RIGHT/INNER JOIN’ы.
HTML и CSS
Сверстайте пару страниц, от и до. Не слушайте, что это работа дизайнера/верстальщика/кого-то еще. Поверьте моему опыту — вам отдадут свёрстанную страницу, никто за вас не будет интегрировать HTML шаблон в вашу систему, так что знание HTML и CSS в обязательном порядке. И забудьте о том, что верстальщики будут готовые шаблоны вам отдавать — это сказки.
Разберитесь с селекторами в CSS, следующий код не должен вызывать у вас ужаса:
#my p.sel:first-line, .main li li a:hover + span < color:#f00; /* Что это за цвет? Включи логику! */ >
JavaScript
Несмотря на то, что PHP это бэкенд разработка, знания JavaScript’а вам сильно пригодятся — особое внимание уделите изучению следующих моментов:
- синтаксис знать нужно в обязательном порядке
- понимать область видимости переменных
- познать замыкания
- изучить события, и разобраться со «всплытием»
- AJAX — что за зверь, как работает
PHP
Как вам списочек вышеописанных скилов? И это мы ещё не добрались к PHP 😉
PHP начинается с основ языка:
- нужно знать что такое переменные и константы
- типы данных, приведение типов и сравнение данных
- область видимости переменных
- приоритеты операторов
- побитовые операции
- управляющие конструкции
- пространства имён
- чуток затронуть строковые функции, такие как:
- explode()
- str_replace()
- strpos()
- substr()
- trim()
- но их куда больше…
работать с массивами нужно постоянно — функций много, я бы обратил внимание на следующие:
- array_push()
- array_pop()
- array_map()
- array_keys() и array_values()
- семейство array_diff и array_intersect
- различные сортировки
- поиск по массиву in_array() и array_key_exists()
- работа с файлами и файловой системой тоже вполне тривиальная задача
- порекомендую досконально изучить как работает подключение файлов
- и понять как происходит работа с сессиями
- узнать на практике как обрабатывать входные данные с форм
- поработать с базой данных с помощью PDO
А ещё нужно иметь представление об объектной модели в PHP:
- наследование
- область видимости свойств и методов
- магические методы
- обработка ошибок с помощью исключений
- понимание паттерна MVC
- уметь работать в IDE отличной от текстового редактора
- знание английского на уровне понимания примеров на stackoverflow
Так что ещё забыл, ах да — система контроля версий:
- пройдите обучалку по Git на Code Academy либо GitHub
- почитайте Git Book
- заведите аккаунт на GitHub
- сохраните в закладки GitHub Guides
Все, что должен знать PHP Junior разработчик: навыки и проекты
PHP — это один из самых распространённых языков сценариев с широкой сферой применения. В данной статье мы поговорим о том, какие знания, технологии и проекты необходимы для начинающего разработчика PHP уровня Junior. Давайте начнем и узнаем, как стать успешным Junior PHP разработчиком!
Навыки PHP Junior разработчика
1. Базовые знания PHP
Для разработчика важно обладать прочными знаниями основ языка. Он должен иметь хорошее понимание синтаксиса, переменных, условных операторов, циклов и функций. Он должен уметь хорошо работать с массивами.
2. Работа с базами данных (БД)
PHP широко применяется в работе с БД. Для разработчика важно освоить основные концепции работы с БД, такие как создание таблиц, выполнение базовых запросов SELECT, INSERT, UPDATE и DELETE, а также обработку ошибок и тд.
3. Знание HTML, CSS и JavaScript
PHP является серверным языком, но для PHP разработчика также важно иметь базовые навыки работы с фронтендом. Он должен обладать пониманием основ HTML, CSS и JavaScript. Он также может расширить свой набор навыков и изучить другие технологии и инструменты.
4. Понимание концепций веб-разработки
Разработчик должен понимать то, как работает веб-разработка в целом. Он должен быть знаком с концепцией клиент-серверной архитектуры. Понимание протокола HTTP необходимо для работы с данными на сервере и основных запросов. Кроме того, знание о RESTful API позволяет разработчику создавать гибкие и масштабируемые веб-приложения.
5. Отладка и тестирование
Junior разработчик должен знать, как отлаживать свой код и искать ошибки. Он должен быть знаком с использованием различных инструментов отладки, один из таких Xdebug. Он должен иметь опыт запуска и написания тестов для своего кода.
6. Объектно-ориентированное программирование (ООП)
Опытные разработчики PHP очень часто используют ООП, и для Junior разработчика важно понимать основные концепции ООП, такие как классы, объекты, наследование, полиморфизм и инкапсуляция. Также хорошо иметь минимальный опыт работы с ООП. Это позволит писать более структурированный и масштабируемый код.
7. Фреймворки
Есть очень много фреймворков, и упоминание о популярных PHP фреймворках, таких как Laravel, Symfony или CodeIgniter, может быть полезным. Знание фреймворков позволит Junior разработчику ускорить процесс разработки и использовать уже готовые решения для различных задач. Также знание фреймворков поднимет на новый уровень проекты разработчика.
8. Безопасность
Безопасность является важным аспектом веб-разработки. Junior разработчик должен быть знаком с основными уязвимостями веб-приложений, такими как SQL-инъекции, межсайтовый скриптинг (XSS) и межсайтовая подделка запроса (CSRF). Они должны знать, как предотвращать такие атаки и правильно обрабатывать пользовательский ввод.
9. Системы контроля версий
Знание Git и умение работать с репозиториями позволит Junior разработчику эффективно управлять версиями своего кода, вносить изменения, отслеживать и исправлять ошибки. Также это пригодится в будущем.
10. Дополнительные технологии и инструменты
Junior разработчику полезно будет ознакомиться с дополнительными технологиями и инструментами, которые широко используются в PHP-сообществе. Некоторые из них могут включать Composer для управления зависимостями, PHPUnit для модульного тестирования, Blade или Twig для шаблонизации и другие.
11. Работа в команде и коммуникация
Хорошие навыки командной работы и коммуникации также важны для Junior разработчика. Умение эффективно общаться с коллегами, понимать требования проекта и участвовать в совместном программировании способствуют успешной работе в команде.
12. Продолжайте обучаться и практиковаться
Важно подчеркнуть, что развитие навыков требует постоянного обучения и практики. Разработчик должен стремиться изучать новые концепции, технологии и лучшие практики веб-разработки, а также применять их на практике через участие в проектах и создание собственных проектов.
Проекты для PHP Junior разработчика
После того, как Junior разработчик освоит основы PHP и связанные с ним технологии, он может начать работать над следующими проектами:
1. Простая веб-страница с формой обратной связи
Этот проект поможет Junior разработчику улучшить навыки работы с HTML, CSS и PHP. Он может создать веб-страницу с формой, на которой пользователь может оставить свои контактные данные и сообщение. После отправки формы данные будут сохранены в базе данных. Кроме того, разработчик может добавить функциональность отправки уведомления на почту и экспериментировать с дальнейшим улучшением формы обратной связи.
2. Простой блог
Создание простого блога поможет Junior разработчику улучшить навыки работы с базами данных и не только. Он может создать систему аутентификации пользователей, добавлять, редактировать и удалять статьи блога, комментировать статьи и многое другое. Такой проект позволит разработчику лучше понять концепции CRUD (Create, Read, Update, Delete) операций и многое другое.
3. API для приложения задач
Создание API для приложения задач поможет Junior разработчику улучшить навыки работы с RESTful API и обработкой данных. Он может создать API для создания, обновления и удаления задач, а также для получения списка задач и их деталей. Это также даст возможность разработчику работать с форматами данных, такими как JSON.
Каждый из этих проектов поможет улучшить знания PHP-разработчика и станет отличным дополнением к его портфолио.
Для Junior разработчика важно знать основы PHP, уметь работать с базами данных и иметь представление о фронтенд-разработке. Также необходимо понимать концепции веб-разработки и другие аспекты. Чтобы продемонстрировать свои навыки, можно создавать интересные проекты, например, веб-страницу с формой обратной связи или простой блог. Каждый проект представляет возможность проявить свои знания, проявить творческую инициативу и расширить свои навыки.
Успехов в изучении и развитии навыков веб-разработки!
Что должен знать Junior PHP разработчик // PHP
В данной статье я хочу ответить на вопрос — “что должен знать Junior PHP разработчик в 2016м году?”.
При этом я постараюсь добавить побольше ссылок на учебные материалы, чтобы на собеседовании вам не пришлось краснеть.
Отчасти перед вами обновленная статья Что должен знать начинающий PHP разработчик, а поскольку PHP достаточно интенсивно развивается в последнее время, то мне пришлось внести изменения в большую половину текста, можете сравнить из любопытства 😉
Пункт номер ноль
Разработчик должен соображать и уметь использовать Google. Первое оценить крайне сложно, для этого придумано много «дурацких» вопросов для собеседований. Второй пункт прививается в первые дни испытательного срока. Плюсом будет аккаунт на stackoverflow.com.
Фундамент
Если вы твёрдо намерены заняться web-разработкой, то первое что вам нужно будет понять – это принцип работы HTTP протокола (эти знания можно почерпнуть в профильных ВУЗах). Так же вы должны поверхностно знать о существовании TCP/IP протокола и понимать за что отвечает DNS сервер.
Выбрав для специализации стек LAMP вам следует начать знакомиться с Linux уже сейчас:
- установить дистрибутив, рекомендую ubuntu
- изучить файловую систему и её особенности
- научиться использовать командную строку
- научиться редактировать текстовые файлы в vim/nano
- научиться выходить из текстовых редакторов с сохранением и без 😉
- разобраться с управлением процессами — просмотреть запущенные, убить зависшие
- установить Apache, PHP и MySQL
- узнать о SSH
Установив Apache — научитесь его настраивать и рестартовать:
- sudo a2enmod .
- sudo a2ensite .
- sudo service apache2 restart
Будьте осторожны, Linux затягивает, вроде неделька нужна для познания азов, а очнулся — уже Новый Год, а ты сидишь и iptables настраиваешь
SQL/MySQL
Основы синтаксиса SQL требуются практически от всех программистов, будь то веб-разработка, или мобильная, вам же надо немного вникнуть в MySQL и понимать различия между MyISAM и InnoDB. Знать как работают LEFT/RIGHT/INNER JOIN’ы — это наглядно разъясняется в статье Visual Representation of SQL Joins:

Проверьте свои познания — создайте базу данных для учёта вашей домашней библиотеки (у вас же есть такая?), в ней должны быть следующие сущности:
- книги
- авторы книг
- ФИО тех, кто брал почитать
Основываясь на данной структуре данных, вы должны составить запросы которые покажут вам:
- автора, книги которого чаще всего берут почитать
- список тех, кто взял больше одной книги
SQL можно изучать в отрыве от всего остального, и он никому не повредит, чтобы разобраться на должном уровне с ним вам потребуется неделька усердного изучения без перерывов на поиграться.
HTML и CSS
Сверстайте пару страниц, от и до. Не слушайте, что это работа дизайнера/верстальщика/кого-то еще. Поверьте моему опыту — вам отдадут свёрстанную страницу, никто за вас не будет интегрировать HTML шаблон в вашу систему, так что знание HTML и CSS в обязательном порядке. И забудьте о том, что верстальщики будут готовые шаблоны вам отдавать — это сказки.
Разберитесь с селекторами в CSS, следующий код не должен вызывать у вас ужаса:
#my p.sel:first-line, .main li li a:hover + span < color:#f00; /* Что это за цвет? Включи логику! */ >
Узнайте что есть блочная модель, да как работает float. Что есть margin и padding. Почему CSS это каскадная таблица стилей, и что есть такое понятие как специфичность CSS-селектора.
Со всем этим можно разобраться за недельку-две, главное не лениться, ну и не стоит лезть в дебри кросс-браузерной вёрстки и анимации. Примочки типа LESS, SASS или БЭМ тоже стоит оставить на фронт-енд разработчиках
JavaScript
Несмотря на то, что PHP это бэкенд разработка, знания JavaScript’а вам сильно пригодятся — особое внимание уделите изучению следующих моментов:
- синтаксис знать нужно в обязательном порядке
- понимать область видимости переменных
- познать замыкания
- изучить события, и разобраться со «всплытием»
- AJAX — что за зверь, как работает
Это немного, изучение данных вопросов у вас не займет более недели, всё это очень наглядно есть в учебнике Ильи Кантора.
Ещё желательно приступить к изучению jQuery, вот вам учебник и по нему — jQuery для начинающих — это еще неделька на усвоение материала.
PHP
Как вам списочек вышеописанных скилов? И это мы ещё не добрались к PHP 😉
PHP начинается с основ языка:
- нужно знать что такое переменные и константы
- типы данных, приведение типов и сравнение данных
- область видимости переменных
- приоритеты операторов
- побитовые операции
- управляющие конструкции
- пространства имён
- чуток затронуть строковые функции, такие как:
- explode()
- str_replace()
- strpos()
- substr()
- trim()
- но их куда больше…
- array_push()
- array_pop()
- array_map()
- array_keys() и array_values()
- семейство array_diff и array_intersect
- различные сортировки
- поиск по массиву in_array() и array_key_exists()
А ещё нужно иметь представление об объектной модели в PHP:
- наследование
- область видимости свойств и методов
- магические методы
- обработка ошибок с помощью исключений
- понимание паттерна MVC
- уметь работать в IDE отличной от текстового редактора
- знание английского на уровне понимания примеров на stackoverflow
Так что ещё забыл, ах да — система контроля версий:
- пройдите обучалку по Git на Code Academy либо GitHub
- почитайте Git Book
- заведите аккаунт на GitHub
- сохраните в закладки GitHub Guides
PHP через год
Отдельно выделю те знания, которые требуются от Junior разработчика через год работы:
Объектная модель PHP должна не вызывать озадаченности на лице:
- абстрактные классы
- интерфейсы
- трейты как замена множественному наследованию
- позднее статическое связывание
Паттерны проектирования пора уже понимать и использовать:
- опять повторю про MVC
- Singleton не всегда вреден
- Factory
- Depedency Injection
- Active Record
Прочие навыки и познания:
- знакомство с каким-нибудь современным фреймворком (нынче уже Laravel5, Symfony3, ZF3)
- разобраться с ORM
- composer в обязательном порядке
- понимание новых фич PHP7
- виртуализация с Vagrant
- установка и настройка NGINX
- Twitter Bootstrap как тренд в вёрстке админок
- работа в правильной IDE PHPStorm
- английский на уровне – задать вопрос на stackoverflow и словить минусов
Информация
- jQuery для начинающих
- jQuery для всех
- PHP для всех
Проекты
- Charts Builder
- Photo Blog
- Syntax Highlighter
Блогролл
- NIX Solutions Ltd.
- Мысли с самого низа
- Прохождение игр
© Антон Шевчук 2007-2023
Что должен знать Junior PHP разработчик
В данной статье я хочу ответить на вопрос — “что должен знать Junior PHP разработчик в 2016м году?”.
При этом я постараюсь добавить побольше ссылок на учебные материалы, чтобы на собеседовании вам не пришлось краснетьПункт номер ноль
Разработчик должен соображать и уметь использовать Google. Первое оценить крайне сложно, для этого придумано много «дурацких» вопросов для собеседований. Второй пункт прививается в первые дни испытательного срока. Плюсом будет аккаунт на stackoverflow.com.
Фундамент
Если вы твёрдо намерены заняться web-разработкой, то первое что вам нужно будет понять – это принцип работы HTTP протокола (эти знания можно почерпнуть в профильных ВУЗах). Так же вы должны поверхностно знать о существовании TCP/IP протокола и понимать за что отвечает DNS сервер.
Выбрав для специализации стек LAMP вам следует начать знакомиться с Linux уже сейчас:
- установить дистрибутив, рекомендую ubuntu
- изучить файловую систему и её особенности
- научиться использовать командную строку
- научиться редактировать текстовые файлы в vim/nano
- научиться выходить из текстовых редакторов с сохранением и без 😉
- разобраться с управлением процессами — просмотреть запущенные, убить зависшие
- установить Apache, PHP и MySQL
- узнать о SSH
Установив Apache — научитесь его настраивать и рестартовать:
sudo a2enmod .
sudo a2ensite .
sudo service apache2 restartБудьте осторожны, Linux затягивает, вроде неделька нужна для познания азов, а очнулся — уже Новый Год, а ты сидишь и iptables настраиваешь
SQL/MySQL
Основы синтаксиса SQL требуются практически от всех программистов, будь то веб-разработка, или мобильная, вам же надо немного вникнуть в MySQL и понимать различия между MyISAM и InnoDB. Знать как работают LEFT/RIGHT/INNER JOIN’ы — это наглядно разъясняется в статье Visual Representation of SQL Joins:

Проверьте свои познания — создайте базу данных для учёта вашей домашней библиотеки (у вас же есть такая?), в ней должны быть следующие сущности:
- книги
- авторы книг
- ФИО тех, кто брал почитать
Основываясь на данной структуре данных, вы должны составить запросы которые покажут вам:
- автора, книги которого чаще всего берут почитать
- список тех, кто взял больше одной книги
SQL можно изучать в отрыве от всего остального, и он никому не повредит, чтобы разобраться на должном уровне с ним вам потребуется неделька усердного изучения без перерывов на поиграться.
HTML и CSS
Сверстайте пару страниц, от и до. Не слушайте, что это работа дизайнера/верстальщика/кого-то еще. Поверьте моему опыту — вам отдадут свёрстанную страницу, никто за вас не будет интегрировать HTML шаблон в вашу систему, так что знание HTML и CSS в обязательном порядке. И забудьте о том, что верстальщики будут готовые шаблоны вам отдавать — это сказки.
Разберитесь с селекторами в CSS, следующий код не должен вызывать у вас ужаса:
#my p.sel:first-line, .main li li a:hover + span < color:#f00; /* Что это за цвет? Включи логику! */ >
Узнайте что есть блочная модель, да как работает float. Что есть margin и padding. Почему CSS это каскадная таблица стилей, и что есть такое понятие как специфичность CSS-селектора.
Со всем этим можно разобраться за недельку-две, главное не лениться, ну и не стоит лезть в дебри кросс-браузерной вёрстки и анимации. Примочки типа LESS, SASS или БЭМ тоже стоит оставить на фронт-енд разработчиках
JavaScript
Несмотря на то, что PHP это бэкенд разработка, знания JavaScript’а вам сильно пригодятся — особое внимание уделите изучению следующих моментов:
- синтаксис знать нужно в обязательном порядке
- понимать область видимости переменных
- познать замыкания
- изучить события, и разобраться со «всплытием»
- AJAX — что за зверь, как работает
Это немного, изучение данных вопросов у вас не займет более недели, всё это очень наглядно есть в учебнике Ильи Кантора.
Ещё желательно приступить к изучению jQuery, вот вам учебник и по нему — jQuery для начинающих — это еще неделька на усвоение материала.
PHP
Как вам списочек вышеописанных скилов? И это мы ещё не добрались к PHP 😉
PHP начинается с основ языка:
- нужно знать что такое переменные и константы
- типы данных, приведение типов и сравнение данных
- область видимости переменных
- приоритеты операторов
- побитовые операции
- управляющие конструкции
- пространства имён
- чуток затронуть строковые функции, такие как:
- explode()
- str_replace()
- strpos()
- substr()
- trim()
- но их куда больше…
- работать с массивами нужно постоянно — функций много, я бы обратил внимание на следующие:
- array_push()
- array_pop()
- array_map()
- array_keys() и array_values()
- семейство array_diff и array_intersect
- различные сортировки
- поиск по массиву in_array() и array_key_exists()
- работа с файлами и файловой системой тоже вполне тривиальная задача
- порекомендую досконально изучить как работает подключение файлов
- и понять как происходит работа с сессиями
- узнать на практике как обрабатывать входные данные с форм
- поработать с базой данных с помощью PDO
А ещё нужно иметь представление об объектной модели в PHP:
- наследование
- область видимости свойств и методов
- магические методы
- обработка ошибок с помощью исключений
- понимание паттерна MVC
- уметь работать в IDE отличной от текстового редактора
- знание английского на уровне понимания примеров на stackoverflow
Так что ещё забыл, ах да — система контроля версий:
- пройдите обучалку по Git на Code Academy либо GitHub
- почитайте Git Book
- заведите аккаунт на GitHub
- сохраните в закладки GitHub Guides
PHP через год
Отдельно выделю те знания, которые требуются от Junior разработчика через год работы:
Объектная модель PHP должна не вызывать озадаченности на лице:
- абстрактные классы
- интерфейсы
- трейты как замена множественному наследованию
- позднее статическое связывание
Паттерны проектирования пора уже понимать и использовать:
- опять повторю про MVC
- Singleton не всегда вреден
- Factory
- Depedency Injection
- Active Record
Прочие навыки и познания:
- знакомство с каким-нибудь современным фреймворком (нынче уже Yii 2, Laravel5, Symfony3, ZF3)
- разобраться с ORM
- composer в обязательном порядке
- понимание новых фич PHP7
- виртуализация с Vagrant
- установка и настройка NGINX
- Twitter Bootstrap как тренд в вёрстке админок
- работа в правильной IDE PHPStorm
- английский на уровне – задать вопрос на stackoverflow и словить минусов.
