Содержание

Каков план личностного развития PHP программиста с нуля? — Хабр Q&A

Буду исходить из «дано» задачи «PHP программист» и из того что автор вопроса стремится заниматься сугубо back-end программированием. Заранее прошу прощения, я несколько увлекся
Итак:
1. Установка сервера (Open Server, Xampp, Denver), на начальном уровне. (просто из exe)
2. Общие принципы.
2.1. Типы данных.
2.2. Переменные.
2.2.1. Работа с переменными по ссылке.
2.2.2. Методы объявления и уничтожения переменных.
2.3. Управляющие конструкции (если знаком, то особенности синтаксиса в рамках языка).
2.3.1. Условия.
2.3.2. Циклы.
2.4. Конструкции вывода(print, print_r, echo).
2.5. Конструкции отладки и управления выполнением(var_dump,die,exit,break в циклах, пустой return;).
2.6. Пред определенные глобальные переменные($_GET,$_POST,$_REQUEST,$_SERVER), константы зарезервированные под модификаторы (static, function, const, $this)
2.7. Особенности версий 5.3, 5.4.
2.7.1. Анонимные функции.
2.7.2. Замыкания.
2.7.3. Особенности объявления массивов.
2.7.4. Пространства имен.
3. HTTP протокол.
3.1. Заголовки входящие.
3.2. Заголовки исходящие.
3.3. Процесс общения.
3.4. Метод php “header(…)” в контексте темы.
3.5. Глобальная переменная $_SERVER[] в контексте темы.
4. Установка сервера на среднем уровне (основы файла .htaccess и RewriteRule)
5. Процедурное программирование.
5.1. Математические методы.
5.2. Оперирование типами.
5.2.1. Методы оперирования массивами (array_values,array_keys,array_map и т.д.)
5.2.2. Методы оперирования строками (strlen,substr и т.д.).
6. ООП.
6.1. Классы.
6.1.1. Инкапсуляция(public,protected,private). Понимать разницу.
6.1.2. Наследование.
6.2. Интерфейсы.
6.2.1. Имплементация интерфейсов.
6.3. Абстрактные классы.
6.4. Полиморфизм.
6.5. Магические методы.
6.5.1. Базовые (__construct,__get,__set,__destruct)
6.5.2. Расширенные (__invoke,__serialize,__isset)
6.5.3. Разобраться когда стоит применять магические методы а когда это плохая практика.
7. Библиотека SPL, и расширение поведенческих возможностей классов за ее счет.
8. Базы данных.
8.1. SQL
8.2. Примитивный уровень общения с БД. (mysql_connect,mysql_close,mysql_query).
8.3. Средний уровень общения с БД(PDO и другие кастомные библиотеки).
8.4. Высокий уровень (ActiveRecord,DataAccessObject,ObjectRelationMapping).
8.5. NoSql БД на примере MongoBD (настоятельно рекомендуется, но не обязательно).
9. Фреймворки. На мой вигляд можно начать с Kohana. Сужу по уровню вхождения стажеров которых видел и отсутствию пространств имен с которыми по первах могут возникать проблемы.

И главное, Внимание! Личностные качества.
— Усидчивость.
— Владение Google при оттачивании темы или сложной задаче на уровне, когда поисковик видит в пользователе не то что DDOS а полноценный физический краш. тест.
— Не брезгливость. Умение заставить себя разбираться в гов… хм. Нелицеприятных дебрях.

— Збагойствие. Отсутствие паники при различных ошибках и не состыковках. Всегда остыть и попробовать снова, но по другому.

toster.ru

Как можно стать PHP программистом — какие навыки нужны в данной профессии?

Как можно стать PHP программистом — какими навыками стоит овладеть?

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

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

Кто такой PHP программист, и чем он занимается?

PHP программист — это специалист, который отвечает за создание и разработку серверной части сайта. От того, насколько качественно он выполнит свою работу, будет зависеть не только скорость и надежность, но и общее успешное развитие и функционирование ресурса.

Чтобы вы поняли всю важность данной специальности, давайте сравним создание и разработку сайта с постройкой жилого дома, тогда PHP программист — это тот, кто закладывает фундамент, устанавливает несущую конструкцию, перекрытия, стены, крышу и проводит коммуникации. А уют в этом «доме» будут создавать уже другие специалисты.

Для тех, кого интересует вопрос, как стать PHP программистом, сразу хочу отметить — не путайте верстальщика HTML и программиста PHP, это абсолютно разные профессии! Первый выполняет функции верстальщика — создает внешний облик будущего сайта, а второй — работает над «телом» и «душой», оживляя сайт и заставляя его взаимодействовать с посетителями.

Как можно стать PHP программистом — какими навыками стоит овладеть?

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Навыки, которыми вам необходимо овладеть

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

Ядро. Я надеюсь, не нужно объяснять, что если хочешь стать PHP программистом, то PHP — это то, что нужно знать, как свои 5 пальцев. Что касается версии, с которой следует начать, то рекомендую не ниже PHP 5.0 (не думаю, что вам попадется вакансия, где придется работать на версии ниже этой).

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

Обязательно изучите реализацию ООП — основная масса CMS и фреймворков написаны с использованием данной парадигмы. Не лишним будет почитать про шаблоны проектирования, особенно про MVC.

Хранилище данных. Сомневаюсь, что, зная один PHP, у вас выйдет найти хорошую работу. Практически все вакансии требуют от программистов умения работать с хранилищами данных. Ничего против других СУБД не имею, но лично от себя рекомендую остановить свой выбор на MySQL, так как именно он фигурирует в массе вакансий.

HTML + CSS. Если вы решили стать PHP программистом с нуля, но, как и с чего начать, не решили, то советую вам получить базовые знания по HTML и CSS, ведь язык PHP связан с генерацией страничек HTML и CSS стилями.

JavaScript. Может показаться, что этот клиентский язык программирования уж никак не может понадобиться PHP программисту, но рынок труда решил иначе. После ознакомления с синтаксисом языка JavaScript, рекомендую сразу же перейти к изучению фреймворков, например, JQuery или ExtJS.

ОС. Так как большинство хостинговых серверов, написанных на PHP, работают под эгидой Linux или Unix, то, соответственно, лучше ознакомиться с данными ОС. Мой вам совет — установите на своем рабочем компьютере Linux (лично я пользуюсь Linux Ubuntu). На сегодня в этом дистрибутиве установка и настройка LAMР сделана так, что не вызовет у вас никаких трудностей. Далее рекомендую поработать с командной строкой.

Веб-сервер. Легче всего начать с Apache, ведь на данный момент — это самый распространенный веб-сервер. Но особо углубленно изучать его тонкую настройку нет смысла, так как лучшим по производительности будет дуэт Ngix + PHP-fpm.

Если вы будете работать в режиме фрилансера, то рекомендую поучиться работать в Photoshop и поглубже изучить HTML + CSS, ведь вам придется самим делать кроссбраузерную верстку. Так как большая часть заказов, скорее всего, будет подразумевать исправление и добавление функционала распространенных CMS, рекомендую уделить внимание изучению WordPress, Drupal, Joomla, DLE или Bitrix.

Где получить образование PHP программиста?

Конечно, практически во всех технических вузах есть специальности, связанные с IT, но в 99%, чтобы стать профессионалом своего дела, вам не хватит этих знаний и придется постоянно подучиваться.

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

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

Где искать работу?

Если вы начали изучение PHP программирование с нуля, то не надейтесь, что вас возьмут в крупную компанию и сразу же дадут сложный высокооплачиваемый проект. Для начала найдите IT компанию, которая готова выращивать специалистов. Как правило, сначала вам придется браться за любую работу, которую вам дадут, и со временем вы сможете рассчитывать на сложные и интересные проекты.

Прекрасным местом трудоустройства может стать IT-контора. Здесь вам гарантирован карьерный рост и неплохая зарплата. Став уверенным в себе профессионалом, вы сможете даже рискнуть и попробовать устроиться в Яндекс, Лабораторию Касперского или другую гигантскую компанию. Если же вы не хотите коротать свои будни в офисах, можете работать фрилансером, выполняя временные заказы.

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

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

Как можно стать PHP программистом — какими навыками стоит овладеть?

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее Как можно стать PHP программистом — какими навыками стоит овладеть?

Программирование на языке PHP

Изучите PHP с нуля!

Смотреть

webformyself.com

Как стать веб-программистом с нуля — всего несколько шагов на пути к успеху

Как стать веб-программистом с нуля — всего 3 шага на пути к успеху

От автора: здравствуй, уважаемый читатель нашего блога! Наверняка, ты слышал множество стереотипов о веб-программистах. Многие думают, что разговаривают они на каком-то особом языке, где вместо слов — код. А еще они ночные существа, да и вообще практически не спят. Программист никогда не снимает наушники и не выпускает из рук мышку. А если мышки в руках нет, то он увлеченно выводит на бумаге, планшете или пыльном столе какие-то загадочные символы. Конечно, это не более чем стереотипы. Иначе не было бы столько желающих узнать, как стать веб-программистом с нуля. Давайте удовлетворим их любопытство и расскажем об этой интересной и востребованной интернет-профессии.

Итак, ты задумался над тем, как стать веб-программистом с нуля. Но кажется, есть небольшая проблемка… У тебя совершенно нет опыта. Как сделать так, чтобы тебя воспринимали всерьез на этом поприще? Предлагаю ознакомиться с перечнем шагов, которые необходимо сделать, чтобы носить гордое звание веб-разработчика. Ты даже удивишься, насколько все просто. Для начала нужно отбросить все сомнения на своем пути. А заодно и лень. Поехали!

Краткая информация о рассматриваемой профессии

Объект исследования: веб-программист, он же веб-разработчик, он же девелопер, веб-мастер и невидимый архитектор Интернета. Вот сколько имен.

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

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

Как стать веб-программистом с нуля — всего 3 шага на пути к успеху

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Виды веб-мастеров: все зависит от того, каким клиентским или серверным языком владеет специалист. Например, ASP.NET, Perl, C#, Java, PHP, на которых также могут создаваться разработки или движки для сайтов — CMS. Существуют бесплатные (Joomla, WordPress) и платные (Битрикс, SiteEdit) движки. Особо одаренные программеры могут создавать свои собственные движки.

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

Шаг первый — выбери специализацию

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

UX или UI?

Front-end или Back-end?

React.js или Angular.js?

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

Хотя, чтобы определиться со специализацией, тебе, возможно, понадобится попробовать всего понемногу. Ты должен ЛЮБИТЬ свое занятие. Поэтому пока забудь о деньгах. Подумай, что тебе ближе? Тебе хочется днями и ночами писать код? Или, может быть, разрабатывать интерфейсы? А может, тестировать сайты?

Шаг второй — ознакомься с основами всех областей веб-разработки

Даже если ты не будешь разработчиком «полного цикла», но азы, все же, знать надо.

HTML и CSS.

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

Вот что нужно изучить на тему HTML:

тэги, атрибуты, элементы;

заголовки;

Как стать веб-программистом с нуля — всего 3 шага на пути к успеху

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

параграфы;

изображения;

ссылки;

таблицы;

списки;

формы.

CSS — это каскадные таблицы стилей, которые используются для настройки внешнего вида элементов HTML на веб-странице. Для изучения HTML и CSS ты можешь ознакомиться с этим бесплатным обучающим материалом, а затем обращайся к курсу HTML5 и CSS3: от нуля до профи для решения более сложных задач.

PHP.

Далее, язык PHP. На рынке полно вакансий для PHP-разработчиков. Этот язык относительно несложный и прекрасно подходит для начала карьеры. Здесь тебе нужно знать синтаксис самого PHP и баз данных MySQL, их основные функции и команды, jQuery, AJAX, CMS, CSS, ну и, конечно же, HLML. Вот неплохой курс по PHP для начинающих.

JavaScript.

Еще один чрезвычайно популярный язык, который запускается почти везде, — это JavaScript. У него чрезвычайно широкая сфера применения. На нем пишутся приложения для Android, десктопные и веб-приложения; его поддерживает все браузеры и платформы (мобильные устройства, компьютеры, сервера и т. д.).

При изучении основ JavaScript тебе понадобятся: данные и переменные, условия, формы, события, массивы, циклы, объекты, AJAX, функции, обратные вызовы, DOM, логика, JSON, jQuery.

Обучиться языку JavaScript ты сможешь с помощью этого прекрасного курса для веб-программистов.

До cих пор мы рассматривали, так называемую, Front-end разработку, которая предназначена для взаимодействия с пользователями. А есть еще код, работающий на сервере — Back-end. Если ты решил стать бэкенд-разработчиком, то советую ознакомиться с Node.js, который запускает JS-код на сервере, библиотекой Express и базой данных MongoDB.

Шаг третий — получи реальный опыт

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

Затем начни работать на кого-то еще:

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

поработай в офисе. Если повезет, станешь там веб-программистом с нуля и поучишься у профессионалов;

поищи заказы на биржах фриланса и специализированных форумах. Там всегда есть работа для разработчиков.

Не забывай постоянно пополнять свое портфолио. Без него будет тяжеловато найти адекватных заказчиков.

Если ты прочитал мою статью и не заинтересовался ни фронтенд-, ни бэкенд-разработкой, возрадуйся, веб-программирование — не для тебя. Чему здесь радоваться? Да тому, что ты вовремя это понял и не потерял кучу денег, нервов и времени.

Если же ты не готов сдаваться и все еще хочешь стать веб-программистом, то подписывайся на обновления нашего блога и получай все самые свежие материалы на свой email. А особо интересными статьями можешь поделиться с друзьями. Удачи тебе во всех начинаниях! Пока-пока!

Как стать веб-программистом с нуля — всего 3 шага на пути к успеху

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее Как стать веб-программистом с нуля — всего 3 шага на пути к успеху

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Смотреть видео

webformyself.com

Пособие для новичков – с чего начать обучение PHP

С чего начать обучение PHP

От автора: во всемирной паутине физическая сила ничего не значит! Вы можете с любой силой жать на клавиши, но результат от этого не изменится. В интернете считается сильнее тот, у которого больше опыта и знаний. Хотя мой знакомый так «накачал» железо своего ПК, что стал бояться его! Но это со всем из «железной» оперы. А мы сегодня выясним в PHP с чего начать обучение, чтобы стать сильным программистом.

«Чайная» болезнь

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

Изучение PHP, как и любой другой науки, следует начинать с самого начала, то есть с теории. Нужно понять, что представляет собой этот язык программирование: его возможности, основная сфера применения, особенности и так далее. Это важный аспект, поскольку новички из-за нехватки базовой теории, общих представлений о том или ином языке, часто ошибаются в выборе. И после этого с обманутыми ожиданиями бросают обучение после нескольких часов «изысканий». Постараюсь немного приподнять эту завесу, чтобы вы поняли не только, с чего начинать изучение PHP, но и зачем.

Несколько особенностей языка, которые следует знать новичкам:

Чаще всего PHP применяется в сайтостроении, но с его помощью можно разрабатывать и клиентские приложения.

С чего начать обучение PHP

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Является серверным языком – его код выполняется на стороне сервера, поэтому для изучения вам понадобится локальный сервер или соответствующая сборка.

Тесная взаимосвязь с MySQL – если собираетесь «штурмовать» сайтостроение, то придется выучить и указанную СУБД. Мы в этом вам поможем :) .

Где начало?

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

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

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

Для постижения PHP можно использовать различные самоучители, специализированные пособия для «чайников». Хорошо бы сюда еще прибавить один или несколько толковых видеокурсов: визуализация информации значительно повышает усвоение материала. Но еще раз повторюсь: с чего начать изучать PHP и с выбором источников определяетесь вы сами.

Немного личного

В продолжение прошлого раздела хочу поделиться «граблями», на которые наступил во время своего студенчества. По «невезухе» попал я в группу сильных студентов, многие из которых уже работали по специальности (программисты). И я на их фоне выделялся явно «невыгодно»: вчера только на системный блок «гавкал», а уже через месяц взялся за освоение программных дисциплин.

В общем, после первого семестра по успеваемости я скатился в самый низ. И все потому, что преподаватели, видя, что большая часть студентов «проглатывает» весь материал даже «нежеваным», старалась дать как можно больше. Но у меня не было того опыта, которым обладали мои согрупники.

На следующий семестр я перевелся в параллельную группу, состоявшую из таких же «чайников». Для них преподы все «раскусывали» и «разжевывали», тщательно поясняли. Здесь дела пошли «на поправку», и я снова стал одним из лучших студентов.

Я не хвастаюсь (ну может немного :) ), а стараюсь пояснить, что стиль обучение, методы получения информации и длительность постижения дисциплины вы должны подбирать под себя самостоятельно. По моему мнению, различные интерактивные курсы являются идеальным источником учебной информации. Их подбор – это то, с чего нужно начать изучение PHP с нуля.

Что нужно для начала разработки

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

Интерпретатор PHP.

Локальный сервер.

MySQL.

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

Я рекомендую использовать Open Server. Он включает в себя все, что необходимо чтоб начать работать с PHP без особого «головняка». Процесс установки происходит автоматически (легко и быстро). Как раз то, что нужно для настоящих «чайников» :) .

Надеюсь, мне удалось развеять все сомнения и вопросы, «преследующие» новичков. Чувствуете, как стали сильнее? Это вы только начали заниматься PHP. Уже скоро вы будете настоящими «силачами» в программных науках. До новых «тренировок»!

С чего начать обучение PHP

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас! :)

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Смотреть

webformyself.com

Что и в каком объеме нужно знать php программисту / Habr

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

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

Ядро

Ну тут само по себе понятно что, если планируешь стать PHP программистом то PHP как раз то что нужно знать и как можно лучше. Касательно версии PHP, которую стоит изучать — думаю что на данный момент нету смысла начинать с версии ниже PHP 5.0, вряд ли вы найдете где-то вакансию где нужно будет работать на версии ниже этой.
Что касается глубины знаний по этому языку, то чем они будут глубже и объемнее тем соответственно лучше, т.к. это ваш основной рабочий инструмент. О том что конкретно изучать и в какой последовательности вы сможете легко найти информацию в Интернете скажу только что обязательно нужно изучить реализацию ООП, т.к. основная масса фреймворков и CMS написаны с использованием этой парадигмы. Так же полезным будет почитать про шаблоны проектирования, в частности про MVC.

Хранилище данных

Вряд ли зная только один язык PHP вы сможете найти достойную работу. Основная масса вакансий требует от программиста знания и умения работать с одним из распространенных хранилищем данных. На данный момент выбор различного ПО для хранения данных довольно велик хотя на мой взгляд для php программиста была и пока остается самой востребованной СУБД MySQL. Я не в коей мере не пытаюсь занизить достоинства других СУБД, но в основной массе вакансий фигурирует именно MySQL.
Что касается версии, то опять же стоит изучать MySQl с версии 5.0 и выше.
По данной теме в Интернете так же можно найти множество информации для изучения, от себя хочу акцентировать внимание только на необходимости изучения способов оптимизации как самой структуры базы данных, так и запросов к ее таблицам.

HTML + CSS

Базовые знания в данных вещах в любом случае понадобятся php программисту. Пусть php и является серверным языком, но он в основном и связан с генерацией HTML страничек с CSS стилями, так что базовые знания все же нужны.

JavaScript

Казалось бы что этот клиентский язык программирования уж точно выходит за область обязательных знаний php программиста, но опять же рынок диктует совсем противоположное. В различных вакансиях, которые мне доводилось встречать уровень знаний в этом языке разнится, но практически во всех он обязателен.
Что бы лично от себя я порекомендовал — после того как ознакомитесь с основным синтаксисом этого языка переходите сразу к изучению одного из распространенных фреймворков, я бы посоветовал выбрать между JQuery и ExtJS. В основном в вакансиях фигурируют именно эти два фреймворка.

ОС

Это опять же мое личное мнение, которое основано на опыте и на логике. Т.к. основная масса серверов для хостинга сайтов написанных на php работают под управлением *nix (Linux или Unix) то соответственно лучше бы знать эту операционную систему. Лично я уже давно на рабочем компьютере устанавливаю Linux Ubuntu. На данный момент в этом дистрибутиве все сделано таким образом, что установка и настройка LAMP не вызывает совершенно никаких трудностей.
После того как вы установите и настроите у себя на компьютере LAMP советую изучить основные команды для работы в командной строке: работа с пользователями и группами пользователей *nix, работа с файлами и каталогами, работа с редакторами vi, vim, работа в файловом менеджере Midnight Commander, работа с демоном-планировщиком cron.

Веб-сервер

Думаю что не ошибусь, если скажу что на данный момент Apache все же остается самым распространенным веб-сервером. Мне кажется что начать легче всего именно с него. Хотя и изучать особо углубленно его тонкую настройку все же нет смысла, т.к. по производительности лучшим выбором будет связка Ngix + php-fpm.

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

Ниже приведен перечень того, на что бы я еще порекомендовал обратить внимание для серьезного php (и не только) программиста:
1. PHP фреймворки — на данный момент очень редко в вакансиях не указывается знание одного или нескольких PHP фреймворков. В основном востребованы следующие: ZendFramework, Yii, Code Igniter, Symfony и Kohana. Мне больше всего нравится Yii.

2. ПО для кеширования данных, например: Memcached, Redis и т.д.

3. ПО для кеширования байткода php скриптов, например: eAccelerator, XCache и т.д.

4. NoSQL базы данных, например: MongoDB, CouchDB, Redis и т.д.

5. Английский язык, как минимум в достаточной мере что бы читать англоязычную документацию без словаря.

Дополнительно для работы в команде

Важные вещи для успешной работы в команде:

1. Coding Standards — очень важная вещь. В общем понимании это правильное и удобное для чтения оформление вашего кода.

2. Удобный и правильно настроенный редактор. По поводу правильных настроек лично я имею ввиду только правильною кодировку файлов и отступы в виде табуляции.

3. Умение работать с одной из распространенных систем контроля версий. Например: svn или git.

4. Опыт работы с каким-нибудь ПО для организации работы команды для постановки задач/ошибок, отслеживания потраченного времени и т.д. так же будет плюсом. Обычно такое ПО называется project management, в качестве примера можно привести Jira.

Дополнительно для работы в режиме фриланса

1. Если предполагается работать одному, то тут вам уже не обойтись без хотя бы базового знания графических программ, таких как Photoshop. Так же нужны будут боле углубленные знания по HTML + CSS, для того, что бы вы смогли делать кросбраузерную верстку.

2. Основная масса заказов скорее всего будет состоять в исправлении или добавлении функционала распространенных CMS, таких как: wordpress, Joomla, Drupal, DLE или Bitrix. Если ориентироваться на мелкие и средние заказы, то вам вряд ли понадобится знание какого-то из перечисленных выше фреймворков.

Заключение

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

habr.com

с чего начать, как учить и что в итоге знать? — Хабр Q&A

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

Первое и самое главное — чтобы хорошо изучить программирование на РНР, надо хорошо изучить программирование. Это очень важная вещь. Большая часть людей, пишущих на РНР, не имеют ни малейшего представления о программировании. Даже о таких базовых вещах, как форматирование кода, отладка, профайлинг, обработка ошибок, файловые операции. Можно заметить, что я не говорю об ООП. Это совсем отдельная тема, ООП надо учить специально. К сожалению, из 100 человек, которые говорят, что знают ООП, 90 являются банальными копипастерами, выучившими синтаксис, но не понимающими смысла объектов. Но чтобы играть в шахматы, недостаточно знать, как ходят фигуры.

Ещё неплохо бы ответить себе на вопрос — для чего ты хочешь выучить программирование на РНР? Вопрос совсем не праздный. Многие люди смешивают в нем кучу разных понятий. К примеру, здесь уже упоминали CMS. и действительно, если речь идёт о зарабатывании денег, то кастомизация Джюмлы и написание к ней говномодулей в финансовом плане куда более выгодны, чем умение писать что-либо с нуля. Для фриланса, во всяком случае.

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

  • Можно склепать гостевую или сайт-визитку на «голом» РНР — и ничего плохого или позорного в этом нет. Наоборот — это плюс языка, который годится и для таких целей, не таща за собой пару миллионов строк кода ради сайта из пятисот.
  • Можно написать профессиональный портал, взяв за основу какой-то из существующих фреймворков, и заниматься его развитием.
  • Можно написать кастомный хайлоад проект, для которого нужно будет писать собственный фреймворк опять на голом РНР.
  • Можно, как уже говорилось, клепать сайты на основе какой-нибудь ЦМС.

Вариантов масса! поэтому нужно определиться сначала, чего хочется.

Там выше говорили про JS+CSS — не надо слушать, это полная ерунда. Фронтенд программирование — совсем отдельная вещь, куда больше визуальная, чем абстрактная. И, слава богу, все больше работодателей начинают понимать это. Хотя опять же — если фрилансишь и на все руки мастер — то без этого никуда.

Но если работать хардкорным серверным программистом в команде, то об HTML/JS/CSS нужно иметь только общее представление (поскольку тексты на этих языках являются, вообще-то, практически единственным результатом работы РНР).

А вот что обязательно нужно хорошо знать из сопутствующих технологий — это протокол НТТР, устройство файловой системы, работа c командной строкой в линуксе.

Теперь по остальным

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

Фреймворки — обязательно. Тут, правда, стоит проблема выбора, но принципиальной разницы между ними нет. Yii — неплохой выбор.

Гитхаб тебе не нужен, знать его не обязательно. Знать надо git.
А вот что является обязательным для веб-программиста — это умение пользоваться гуглем. Хотя бы на уровне умения скопипастить в поисковую форму сообщение об ошибке или написать вопрос «Что такое git» 😉

Потому что для работы в команде какую-либо систему контроля версий знать надо, а git является стандартом де-факто. Понимать принцип работы и базовые команды — чекаут, коммит, пуш.

toster.ru

советы и рекомендации для новичка — руководства на Skillbox

Итак, вы начали изучать программирование и остановились на PHP, потому что слышали, будто он простой в освоении. Вначале стоит получше узнать, что это вообще за язык. Вот несколько фактов:

  • 80% из 10 млн сайтов в интернете написаны на нем.
  • Он популярен у разработчиков CMS — систем управления контентом.
  • PHP произошел от Perl, и сначала его даже не считали самостоятельным языком программирования.
  • Facebook сделал огромный вклад в развитие PHP.

Более подробно о языке вы можете прочесть в статье «PHP: от истоков до современности».

Работа с кодом в PHPStorm. Источник

PHP был создан специально для того, чтобы облегчить веб-разработку. Он обладает простым синтаксисом, поэтому на нем несложно программировать, а новички часто выбирают его в качестве первого языка.

PHP активно развивается — сейчас ведется работа уже над восьмой версией. Это очень гибкий и легко масштабируемый язык. А еще он прощает ваши ошибки при написании кода: иными словами, скрипты будут работать даже с грубыми недочетами, правда, до возникновения первой проблемы.

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

Вопросы по PHP не иссякают, но на любой вы легко найдете ответ с помощью коллег.

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

Наши эксперты в один голос заявляют: если хотите выучить PHP, начинайте писать свой сайт. Это может быть все, что угодно: интернет-магазин, записная книжка, лендинг. Советуем сначала запустить проект на «чистом» PHP — без использования фреймворков. Это займет гораздо больше времени, но зато вы получите представление о том, как все устроено изнутри. Так вы приобретете понимание работы языка, а затем начнете учить фреймворки.

Переводите свой проект на один из них — советуем Laravel и Yii. Если знаете один, то выучить смежные будет проще: смысл везде одинаковый, разница в нюансах. Вы столкнетесь с огромным количеством проблем и подводных камней, но именно это и будет ценным опытом.

Вы внимательно изучили документацию, прочитали все статьи о PHP на «Хабре», начали писать свой сайт, но что дальше?

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

Однако на начальном этапе не устраивайтесь на удаленную работу: живое общение с профессионалами, которые могут стать вашими наставниками, — очень важный пункт для активного роста.

Так как PHP — это все же полноценный язык, что бы там ни говорили хейтеры, то к нему применимы правила архитектуры кода объектно-ориентированного программирования. SOLID-принципы работают и для PHP, поэтому ООП знать просто необходимо, если вы хотите действительно понять его и программировать хорошо, а не бездумно копировать синтаксис и чужие решения.

Рекомендуем прочесть книгу Мэта Зандстра «PHP. Объекты, шаблоны и методики программирования». Она поможет разобраться в глубинной структуре языка. В целом же при изучении старайтесь избегать устаревшей информации — читайте статьи, вышедшие не ранее 2015 года.

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

  1. Стать фрилансером и делать сайты на CMS для заказчиков.
  2. Получить должность в известной компании.
  3. Создать свой проект, развивать и зарабатывать посредством него.

Вот только три из множества вариантов возможных целей. Определитесь с мотивацией — может быть, окажется, что нужно учить вовсе не PHP.

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

Курс «PHP-разработчик»

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

  • Живая обратная связь с преподавателями
  • Неограниченный доступ к материалам курса
  • Стажировка в компаниях-партнёрах
  • Дипломный проект от реального заказчика
  • Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы

skillbox.ru