Junior Web Developer или что нужно знать для устройства на работу.

Все чаше замечаю в интернете наплыв юных дарований которые желают стать программистами. Большинству из них советуют Web разработку как способ быстрого зарабатывания денег. Ну а там соответственно по большей части идет многими не любимый PHP.

С чего же начать человеку который решил стать на путь PHP?

Ну сперва нужно четко для себя уяснить что "чистый" PHP никому нафиг не нужен. Сайт на php состоит в связке с БД MySQL(чаше всего, но могут быть и другие), JS(в основном jQuery) HTML CSS. По этому пройдемся по порядку.

PHP - основы.

1)Работа со строками. Знать хотя бы три функции и что они делают. Например чаше всего используют str_replace(), strpos(), strlen().

2)Массивы. Почти все время придется работать с ними. например Zend2 в конфигурационных файлах использует многомерные массивы. По этому, уметь "раскрутить" многомерный массив. Знать несколько функций для работы с массивами , например array_search(), array_key_exists, in_array().

3)Циклы. Понимать в чем разница между for, foreach, while. Знать какой из них для чего лучше применять. знание какой из данных циклов работает быстрее. Так же условия. Четкое понимание разницы между if-else, switch-case

4)Функции. Хоть почти все проекты на php обычно объектно ориентированны, бывают случаи когда проще и быстрее написать свою ф-ю для обработки данных. Обязательное понимание возвращаемых значений, обязательные и необязательные параметры, область видимости переменных внутри ф-и и вне.

5)Сессии и куки. Обязательно знание где применяются и записываются сессии, где хранятся куки. Запись и чтение из сессии и куки. Излюбленный вопрос работодателя "Если у клиента отключены куки, то поднимется ли сессия?"

6)Работа с Базой Данных. Сразу скажу что mysql_connect() и любая другая ф-я с префиксом mysql_ уже deprecated. По этому пользуются ее аналогом mysqli_ или PDO. Нужно умение создать подключение к бд, выполнить запрос, вернуть данные.

7)Типы данных в php. Знать обязательно.

8)POST, GET. Отличия между ними, где,какой и для чего применяется.

9)Работа с файлами и папками. Там же будет пример рекурсии для обхода папок.

10)Регулярки RegExp. ф-и для работы с регулярками preg_match(), preg_match_all(), preg_replace(). Модификаторыб квантификаторы, якоря и т.д. Излюбленная задача на собеседованиях - написать регулярку для выдирания всех ссылок со страницы.

11)Обращения с датой и временем.

12)Защита от XSS, javascript и sql иньекций. В общем безопасность php приложений.

Это самые основы которые должен знать любой php разработчик. К сожалению по данным пунктам я не могу посоветовать хорошую книгу, потому как когдя я все это изучал, на дворе был 2006 год, а за это время в php уже многое поменялось. Единственное что я вам могу посоветовать это офф сайт http://www.php.net . При прочтении учебника и натыкания на функции, проверяйте их на данном сайте и смотрите что бы они не были в статусе deprecated, а если они в данном статусе, то смотрите их аналоги.

Во второй части я расскажу, что обязательно нужно знать про объектно ориентированное программирование в PHP. В третьей коснусь HTML, CSS, Javascript. В четвертой расскажу немного про само устройство на работу и выбор компаний. А так же затрону тему framework'ов и профессионального роста.
1
Автор поста оценил этот комментарий
"С чего же начать человеку который решил стать на путь PHP?" - еще раз хорошенько подумать и встать на путь питона или руби
раскрыть ветку
1
Автор поста оценил этот комментарий
берд какой-то.
любой человек, который назвает себя программистом, должен почти все это знать по умолчанию. если он не знает, что такое циклы, то о какой работе вообще может идти речь.
программирование - это не набор тем, которые ты "знаешь", это наука, в конце концов.
вообще при приеме на работу, основная характеристика джуниор-программиста - не то что ты знаешь, а то насколько быстро ты можешь научиться новому.
когда я на работу устраивался, меня спросили:
- Под iOS когда-нибудь писал?
- Нет.
- Отлично, вот тебе задание. 2 недели на изучения iOS SDK и objective C и 2 недели на задание.
раскрыть ветку
Автор поста оценил этот комментарий
Защита от XSS, javascript и sql иньекций. -правда. джуниор пхпешеру? не надо ,может,лезть в сетевую безопасность то?
раскрыть ветку
Автор поста оценил этот комментарий
самое основное, хотя бы понимание принципов ООП.

что толку от PHP -шного лапшекода ...
раскрыть ветку
Автор поста оценил этот комментарий
Было бы здорово если б ты запилил длинопост и тогда тебя будут плюсить не только программисты)
раскрыть ветку