Изучаем php с нуля. PHP Online: курс для чайников


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Интернет в современном мире занимает всё более прочные позиции. Лет 15 назад для доступа к сети было нужно дорогое оборудование и немалые деньги на оплату счетов. Сейчас в Интернет может за копейки попасть любой человек, имеющий хотябы мобильный телефон. Всё больше услуг и сервисов переходят в электронную форму. Из средства общения и обмена информацией Интернет превращается в удобный инструмент для ведения бизнеса и зарабатывания денег.

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

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

Общие принципы

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

Сеть Интернет состоит из огромного количества соединённых между собой компьютеров, маршрутизаторов и прочего железа, нужного для правильной работы. Каждый элемент сети Интернет (узел) обладает уникальным описателем - IP-адресом. Зная IP-адрес узла можно попробовать подключиться к нему, а имея небольшие навыки можно определить кому этот адрес принадлежит и в каком регионе мира находится. IP-адреса принято записывать в виде четырёх групп цифр, разделённых точками, например

192.168.100.003 или 10.10.0.123

Согласитесь, запомнить адреса всех часто посещаемых страниц - задачка не из лёгких. Поэтому в сети Интернет существуют специальные сервера DNS (Domain Name Resolution), на которых хранятся списки сопоставления IP-адресов и символьных имён. Именно благодаря эти серверам пользователь всегда попадает по нужному IP-адресу, набрав в браузере только имя странички.

После того, как мы ввёли в строку браузера имя нужной странички, браузер самостоятельно получает из DNS IP-адрес нужного сервера и посылает по этому адресу специальный запрос на получение странички (HTTP-запрос). Работающая на сервере специализированная программа (т.н. Web-сервер) обрабатывает этот запрос и возвращает в браузер требуемую страницу.

Очевидно, что все действия по отображению страницы можно однозначно разделить на две категории: выполняемые на стороне клиента (клиентский код или front-end ) и выполняемые на стороне сервера (серверный код или back-end ). Причем сервер ничего не знает о текущем состоянии клиента, а клиент - о текущем состоянии сервера. При разработке алгоритмов обмена надо всегда помнить об этом и своевременно передавать нужные данные, описывающие состояние или требуемое действие.

В зависимости от места применения различаются и средства реализации частей. На стороне клиента как правило используется только HTML, JavaScript (AJAX), CSS и Flash. Разработчики серверной части менее стеснены в средствах, т.к. большая часть существующих языков позволяет создавать или описывать HTML-страницы. Наиболее широко распространённы сейчас Java, Perl, PHP, Python, Ruby, C# и VB.NET. Каждый из них имеет свои сильные и слабые стороны, поэтому разработчик должен сделать выбор исходя из стоящих перед ним задач.

Почему именно PHP?

Существует большое количество языков, которые можно использовать при создании веб-сайтов. Некоторые языки существуют давно и успешно применяются (или уже не применяются). Некоторые языки ещё очень молоды и широкого распространения пока не получили. В последнее время PHP выбился в лидеры по популярности, чему есть несколько причин:

  1. Простота. Язык очень легко воспринимается, особенно начинающими программистами.
  2. Скорость разработки. Благодаря простоте и интуитивной понятности, PHP позволяет очень быстро создавать довольно сложные сайты.
  3. Наличие библиотек Существует огромное количество готовых примеров и библиотек классов. Созданы и проверены сотни библиотек, существенно упрощающих жизнь разработчика.
  4. Поддержка Практически любой сервер в Интернете поддерживает PHP
  5. Безопасность PHP позволяет создавать действительно защищённые сайты благодаря встроненной поддержке шифрования данных при хранении и передаче.

Однако за свои преимущества PHP платит некоторыми органичениями. Например, использовать PHP для доступа к системным функциям очень неудобно по сравнению с Perl или Python (поэтому многие сисадмины так любят Perl).Есть ещё несколько ограничений, о которых мы поговорим при изучении соответствующих разделов.

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

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

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

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

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

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

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

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

Где начало?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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







2024 © gtavrl.ru.