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'ов и профессионального роста.
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
Защита от XSS, javascript и sql иньекций. -правда. джуниор пхпешеру? не надо ,может,лезть в сетевую безопасность то?
раскрыть ветку (4)
1
Автор поста оценил этот комментарий
Ну он должен про них знать, врятли ему дадут задание типа пройдись по коду найди уязвимые места. Но вдруг ему стукнет из-за незнания написать в модулей свой коннект для обработки формы и он забудет про экранирования?
Автор поста оценил этот комментарий
хотя бы, как защититься от SQL инъекций стоит знать.
Автор поста оценил этот комментарий
Оу и еще.Про это часто любят спрашивать работодатели. Конечно шанс что он их применит ничтожно мал, но понимание таких вещей должно присутствовать.
раскрыть ветку (1)
Автор поста оценил этот комментарий
спасибо за посты! вроде подготовился по первым двум, надеюсь свезет.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку