Советы по изучению пхп. Как выучить PHP или любой другой язык программирования

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

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

Что же такое PHP?

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

Говоря простыми и доступными словами, php это язык программирования, специально разработанный для создания сценария веб-приложения, который исполняется на web-сервере. Это достаточно востребованный язык программирования, так как 85% веб-сайтов используют его.

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

Обучаемся эффективно

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

Затем нам нужно скачать компилятор. Это программа, которая построчно считывает ваш скрипт как инструкцию и исполняет ее.

Наиболее распространенный компилятор это denver – простой и бесплатный пакет нужных программ, с помощью которых вы сможете писать скрипты. Если вы спросите мое мнение, то я бы посоветовал вам скачать Open Server. Он сейчас набирает обороты. Он на голову выше денвера и в нем вам будет удобнее работать.

Что делают эти пакеты? Они позволяют и работать на нем как на сервере. Скачивать что-либо прямо сейчас необязательно. Вы еще не раз услышите о полезном софте из этой серии в любом обучающем курсе, а он вам понадобится.

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

Книги для обучения

Скажу сказу, я не фанат книг. Когда речь идет о интернет-технологиях. Это все равно что объяснять человеку из племени Масаи что такое wi-fi. Никакие рисунки не помогут нормально все понять. И тем не мене, я хочу предоставить вам небольшой список книг по php для чайников, которые котируются среди профессионалов.

Мне бы хотелось, чтобы вы действительно добились цели и если вам кажется, что этот вариант обучения подойдет вам лучше – я с удовольствием предоставлю информацию.

PHP и MySQL. Разработка Web-приложений – отличная книга которая подойдет новичку. Первым делом автор покажет как настроить Apache (HTTP-сервер), PHP и MySQL (база данных), затем подскажет, как выбрать редактор кода. В книге рассматривается: синтаксис языка, самые полезные функции, создание собственного движка и ряда других функций.


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

HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера – Это более детальный учебник по изучению php. В нем затрагиваются несколько других полезных , без которых полноценное создание веб приложений невозможно.

Читается достаточно легко, подходит для самостоятельного изучения и обучения студентов. Автор затрагивает такие темы как: основы php, динамическое формирования страницы при помощи CSS (каскадная таблица стилей), администрирование баз данных, создания динамических страниц при помощи JavaScript.


Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5 – данную книгу я бы посоветовал более продвинутым читателям, которые уже обладают основными навыками HTML верстки. Если вы когда-либо изучали это, и еще помнете основные принципы тогда эта книга для вас.


PHP и MySQL. От новичка к профессионалу – и завершает наш обзор книга Кевина Янка, в ней автор делает сильный уклон на создание веб-приложений с базой данных.


Книга очень легкая, отлично подойдет для самостоятельного обучения.

Видео с YouTube

По своему опыту скажу что, обучатся php по роликам из ютуба достаточно сложно. Хоть они и кажутся простыми. В отличии от уроков по фотошопу, которые я обожаю, изучать языки программирования в ютубе просто невозможно. Даже видео длиной всего в 15 – 20 минут вызывает массу неудобств.

Такие видео могут отбить желание самому набирать код. Зачем, если за вас уже все сделал автор: набрал, запустил, показал на конкретном примере как все работает? В результате запомнить что-то практически невозможно.

Обучающий курс

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

Каждый урок сопровождают комментарии, вы можете задать вопросы специалистам, спокойно обсудить и решить непонятные моменты. Вам не придется лазить по интернету в поисках информации. Все разжуют и положат в рот, останется лишь использовать.

Вам дадут задание и проследят за тем, насколько правильно вы его выполняете.

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

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


Если вы мечтаете о том, чтобы научиться создавать сайты без , сами и на php, то это лучший для вас вариант.

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

Мы с вами рассмотрим:
○ Что такое PHP и для чего он нужен
○ Где используется PHP

○ Как применить PHP
○ Какие потребуются инструменты для изучения PHP

○ Что такое PHP и для чего он нужен?
PHP (H ypertext P reprocessor - Препроцессор Гипертекста ) – это язык программирования. Является одним из самых легких языков программирования, разработанный специально для создания web-приложений. PHP легко внедряется в .

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

○ Как применить PHP?
Чтобы работал PHP, у файла должно быть расширение «*.php ».

Файл PHP должен находиться на хостинге или на локальном сервере .
В самом файле PHP-код указывается вот таким стандартным способом:

– закрытие блока для PHP-кода

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

○ Какие потребуются инструменты для изучения PHP?

Чтобы выучить PHP вам потребуется:

  • Стандартный блокнот Windows («Пуск» => «Все программы» => «Стандартные» => «Блокнот» ) либо скачайте бесплатно редактор Notepad++
  • Скачать и установить на компьютере локальный сервер
  • Reg.ru: домены и хостинг

    Крупнейший регистратор и хостинг-провайдер в России.

    Более 2 миллионов доменных имен на обслуживании.

    Продвижение, почта для домена, решения для бизнеса.

    Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

    *Наведите курсор мыши для приостановки прокрутки.

    Назад Вперед

    20 способов изучить PHP и спасти котят

    Есть старая поговорка, восходящая еще к началу 1700-х годов. Она гласит: "Каждый раз, когда PHP-программист не следует лучшим практикам кодирования, погибает один котенок."

    Окей, пусть в шутку, но давайте это будет то, от чего мы отталкиваемся.

    Начало работы с PHP может быть непростым опытом. Учитывая это, 20 хороших советов научат вас тому, как следовать лучшим практикам и сохранять жизни... жизни котят.


    0. Пишите код так часто, как только можете.

    Вы изучали в школе иностранный язык? Учили все части речи, глаголы и то, как их спрягать, постоянно слушая при этом речь учителя, построенную из простейших фраз и конструкций?

    Много ли знаний, полученных в то время, вы действительно используете?

    "Частое программирование с конкретной целью приведет к прочному усвоению знаний".

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

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

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

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

    Поэтому не волнуйтесь, если вы "не знаете всего, что нужно" до начала реализации проекта. Когда вы определились с проектом, у вас есть весомая причина научиться всему, что нужно и реализовать его на практике. Частое программирование с конкретной целью приведет к прочному усвоению знаний.


    1. Ознакомьтесь с документацией по PHP

    Каждый список полезных советов почему-то содержит этот пункт. И точно не зря.

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

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

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

    Возможно, одно из полезных знаний о руководстве - это то, что большинство функций можно найти, используя шаблон http://php.net/function-name в адресной строке. Например, для поиска функции strpos() используйте адрес http://php.net/strpos , а для array_key_exists() - http://php.net/array-key-exists . Обратите внимание на отсутствие скобок в адресе и изменение нижнего подчеркивания на символ дефиса.


    1а. Читайте комментарии!

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

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


    2. Воспользуйтесь преимуществами огромного сообщества PHP

    В дополнение к руководству PHP, есть еще много замечательных сообществ разработчиков по всему интернету. Среди моих любимых: StackOverflow.com и форум W3Schools.com .

    Кроме того, Twitter является на удивление отличным местом для размещения вопросов о PHP. Если вы проставляете для твита тэг "PHP", то, скорее всего, кто-то в сообществе заметит это и протянет вам руку помощи.

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


    3. Не откладывайте хорошие практики на потом

    В процессе обучения вы наверняка услышите про полезные привычки и стандарты кодирования, вроде подготовленных выражений и стандартов от PEAR. Не откладывайте изучение этих моментов "на потом" просто из-за того, что это кажется сложным.

    "Если что-то является хорошей практикой, то это не потому что мы (другие PHP-программисты) собрались вместе и сказали: "А как бы нам усложнить жизнь новичкам?"

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

    Время, которое вы потратите на изучение mysql_query() сопоставимо со временем на изучение PDO или MySQLi . Поэтому, если вы начнете сразу со второго варианта, то можете быть уверены, что вы начинаете с фундаментальных основ работы с базой данных и, в конечном счете, тратите на это меньше усилий и времени.


    4. Не откладывайте хорошие практики на потом!

    Я просто хотел убедиться, что вы обратили на это внимание.

    "Серьезно, ребят. Не откладывайте в долгий ящик. Каждый раз, когда вы нарушаете лучшие практики из-за того, что они кажутся "слишком сложными", компания BP топит в сырой нефти очередного пушистого котенка."

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


    5. Сделайте код самодокументируемым

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

    "Если вы хотите выжить из имен переменных все символы для сокращения общего времени работы скрипта на 0.2 мс., то, скорее всего, столкнетесь с большими проблемами."

    Каково бы ни было искушение, нужно устоять любой ценой.

    Рассмотрим следующий фрагмент кода:

    Вы понимаете сходу, что здесь происходит?

    Конечно, вы разберетесь с тем, как это работает, но зачем заставлять других людей, изучающих ваш код, тратить лишнюю минуту на то, чтобы понять, что же содержит в себе переменная с "говорящим" именем "c"?

    Давайте возьмем этот код и сделаем его самодокументируемым:

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

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


    6. Добавляйте комментарии ко всему, над чем вам пришлось задуматься

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

    Если ваш код самодокументируемый, то вам не понадобится много комментариев. Однако, какими бы очевидными и понятными ни были имена ваших функций и переменных, всегда найдутся некоторые "белые пятна", когда совершенное действие на совсем очевидно.

    "Комментарии - это признак компетентного веб-программиста."

    Когда это происходит, комментируйте код. "Будущий Вы" скажем "Нынешнему Вам" огромное спасибо, когда придет время модифицировать скрипт.

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

    Давайте посмотрим:

    $pieces = explode(".", $image_name); $extension = array_pop($pieces);

    Что здесь происходит? Вам пришлось остановиться и подумать над кодом? Вы все еще не уверены относительно того, что находится в переменной $extension ?

    Посмотрите на сниппет ниже снова, всего лишь с одним кратким комментарием:

    // Получаем расширения файлов изображений $pieces = explode(".", $image_name); $extension = array_pop($pieces);

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

    Как и всегда, ключевым моментом является умеренность.

    Слишком малое количество комментариев - и вы рискуете оставить другого разработчика (и "Будущего вас") озадаченным по поводу тех или иных фрагментов кода. Это может привести даже к случайному нарушению кода, т.к. если нет объяснений, то код может показаться глупым или избыточным.

    "Умеренность - ключ ко всему."

    Слишком большой объем комментариев - и ваш код становится трудно "просканировать", что тоже очень мешает работе.


    7. Изучите Docblock и используйте его

    Docblock - это стандарт комментирования (подробнее ).

    У меня есть несколько доводов в пользу применения этого стандарта:

    1. Он заставляет нас думать о том, "что" и "почему" для каждого файла, функции, метода, и т.д.

    2. Он дает ясные описания ожидаемых параметров и возвращаемых значений для функций / методов.

    3. Он дает краткое описание того, что делает тот или иной код.

    4. В сочетании со средой разработки (IDE), поддерживающей Dockblock, мы имеем подсказки для кода (которые позволяют нам видеть описания, ожидаемые параметры и возвращаемые значения для функций и методов, которые мы используем).

    Этот момент можно назвать ограничением для "новичков высокого уровня", но я отношу его к лучшим практикам, которые нужно освоить как можно скорее.

    Не стесняйтесь пропустить этот этап, но помните о котятах.

    Docblock показывает свою универсальность, когда используется для документирования классов:

    /** * Простой класс для подсчета суммы или разности переменной $_foo и некоторого значения * * @author Jason Lengstorf * @copyright 2011 Copter Labs * @license http://www.opensource.org/licenses/mit-license.html */ class CopterLabs_Test { /** * Значение, используемое для сложения и вычитания * @var int */ private $_foo = 0; /** * Прибавляет значение к $_foo и возвращает сумму * @param int $add_me Значение, прибавляемое к $_foo * @return int Сумма $_foo и $add_me */ public function add_to_foo($add_me=0) { return $this->_foo += $add_me; } /** * Вычитает значение из $_foo и возвращаеть разность * @param int $subtract_me Значение, вычитаемое из $_foo * @return int Разность $_foo и $subtract_me */ public function subtract_from_foo($subtract_me=0) { return $this->_foo -= $subtract_me; } }

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

    Вышеприведенный Docblock при использовании в Netbeans даст нам такие подсказки для кода:


    8. Не будьте настолько суровым кодером, чтобы отказываться от IDE

    Если вы еще не знаете, то есть такое поверье: жесткие кодеры, думающие как настоящие программисты, не используют IDE .

    Теперь смотрите: если вы хотите произвести впечатление на людей, то лучше научитесь жонглировать.

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

    Не будьте "Странным парнем".

    "Нет ничего плохого в том, чтобы использовать софт, который дает подсветку синтаксиса на лету, проверку ошибок и подсказки по коду".

    Насколько мощную IDE использовать - полностью зависит от вас. Лично мне очень нравится Netbeans . Я слышал тонны похвал в адрес Coda для Mac (хотя это не совсем IDE), а сам ранее использовал Eclipse (до переезда на Netbeans).

    Независимо от того, какую IDE вы используете, вы увидите увеличение скорости работы и снижение количества мелких ошибок. Позже, когда ваши библиотеки кода пополнятся, вы будете иметь подсказки по коду для всех своих приложений (потому что вы используете Docblock, верно? Верно?!)

    Не думайте, что IDE - это не круто - неважно, что вам говорит "Странный парень".


    9. Группируйте повторяющийся код в функции

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

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

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

    Рассмотрим следующий пример:

    $unclean1 = "Click Me!"; $detagged1 = strip_tags($unclean1); $deslashed1 = stripslashes($detagged1); $clean1 = htmlentities($deslashed1, ENT_QUOTES, "UTF-8"); $unclean2 = "Let"s call Bjorn!"; $detagged2 = strip_tags($unclean2); $deslashed2 = stripslashes($detagged2); $clean2 = htmlentities($deslashed2, ENT_QUOTES, "UTF-8"); echo $clean1, "
    ", $clean2;

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

    Это тот случай, когда использование фукнции гораздо желательнее:

    $unclean1 = "Click Me!"; $unclean2 = "Let"s call Bjorn!"; $clean1 = sanitize_input($unclean1); $clean2 = sanitize_input($unclean2); echo $clean1, "
    ", $clean2; function sanitize_input($input) { $detagged = strip_tags($input); $deslashed = stripslashes($detagged); return htmlentities($deslashed, ENT_QUOTES, "UTF-8"); }

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


    10. Группируйте сходные фукнции в классы

    Знакомство с ООП (объектно-ориентированное программирование) - еще один момент, который можно отнести к категории "освоить как можно раньше".

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

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


    11. Используйте константы, а не глобальные переменные.

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

    Я хранил неизменные данные (вроде названия сайта и максимальной ширины картинки) а также учетные данные для подключения к базе данных в переменных, что приводило к тому, что я вынужден был использовать массив $GLOBALS для доступа к нужной информации.

    Потом я осознал, что PHP позволяет определять константы, используя функцию define() .

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

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


    12. Не бойтесь использовать Includes

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

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

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

    Например, на сайте с множеством страниц, типичный шаблон может иметь вид, вроде:


    13. Не сходите с ума из-за производительности

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

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

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

    Никто не сможет заметить разницы при загрузке страницы за 25 или за 40 мс. Убедитесь, что это не 700 мс. и занимайтесь более важными вещами.


    14. Не "жените" HTML на своих скриптах.

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

    Рассмотрим следующий пример:

    Echo "

    Здесь идет контент.

    ";

    Действительно ли необходимо оборачивать параграф тэгом div ? Можно ли изменить код так, чтобы он включал в себя только тэги параграфов для содержания текста? Давайте посмотрим на альтернативный вариант:

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

    В большинстве случаев вы можете отделить HTML от PHP, что сделает ваши скрипты более удобными для чтения и поддержки.


    15. Попробуйте использовать хотя бы одну незнакомую концепцию в каждом новом проекте

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

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

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


    16. Не будьте слишком горды для того, чтобы меняться

    Вы будете неправы. Причем часто. Но это не так уж плохо.

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

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

    "Никогда не позволяйте себе думать, что непрофессиональное решением является приемлемым, поскольку оно ваше. Это высокомерие (которое, как правило не приводит ни к чему хорошему)."


    17. Проводите валидацию

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

    Помните: Валидация (validation) - это совсем не то же самое, что очистка (sanitization).

    "Валидация входящих данных - это проверка факта соответствия этих данных определенному формату, вроде проверки того, является ли введенное значение корректным email-адесом, либо содержит ли поле для ввода логина от 8 до 20 символов латинского алфавита или цифр."

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


    18. Что не запрещено - разрешено?

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

    Типичным решением является создание так называемого "блэклиста": подборки запрещенных тэгов, символов и т.д.

    "Если вы постоянно не пополняете и не мониторите свой черный список, то это чревато возникновением уязвимостей."

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

    Если вы постоянно не пополняете и не мониторите свой черный список, то это чревато возникновением уязвимостей.

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

    Например, в функции strip_tags() , вы можете явно указать, какие теги разрешены в строках:

    Strip_tags($string, "");

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

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


    Вы ищете 20 способ? Помните, что в PHP почти всегда и везде отсчет идет с нуля, поэтому это и есть 20 способ. Вы заметите, что почти во всех языках дело обстоит точно так же, поэтому не позволяйте сбить себя с толку!


    Подводя итог

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

    Не пугайтесь, если все, что здесь написано для вас в диковинку: просто делайте за один раз один шаг (см. пункт 15).

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

    Зачем изучать php и MySQL?

    Такой вопрос могут задавать лишь те, кто совсем не знаком со спецификой построения веб-пространства и ее современной основой. Любой мало-мальски сведущий в программировании человек скажет, что эти две дисциплины являются на сегодняшний день главенствующими во всемирной паутине. А это значит, что почти весь интернет построен на основе PHP и MySQL :

    Хотя в наше время значение PHP немного уменьшилось. И все из-за большого количества движков, которые (по иронии ) также построены на основе этого языка.

    В современном веб-мире под движками понимают любую систему управления контентом (Content management system, CMS). Большая часть из них написана на PHP и MySQL.

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

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

    • Востребованную профессию – на рынке труда толковые программисты всегда были нарасхват. Но даже неопытные новички с хорошими теоретическими знаниями PHP и небольшим опытом в веб-программировании смогут найти работу с достойной оплатой;
    • Удаленную работу – для того чтобы заниматься программированием не обязательно рано вставать, добираться на работу и соблюдать дресскод. Все это можно оставить за порогом, и создавать программный код, сидя дома в комнатных тапочках;
    • Экономию денег – если вы являетесь владельцем сайта, то конечно знаете, что услуги профессиональных веб-программистов стоят дорого. А для начинающего свое дело в интернете дорога каждая копейка. Самостоятельное обучение MySQL и PHP позволит сэкономить средства и пустить их в нужное русло.

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

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

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

    Изучение PHP и MySQL для многих может стать средством самовыражения.

    Что такое PHP

    PHP относится к скриптовым языкам программирования. Чаще всего он применяется для создания веб-приложений и веб-сервисов. Данный язык поддерживается большинством хостингов в интернете. На его основе написана основная часть динамических сайтов.

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


    Популярность PHP объясняется его следующими характеристиками:

    • Поддержка большинства популярных СУБД (Систем Управления Базами Данных );
    • Автоматическая отправка заголовков HTTP ;
    • Встроенная поддержка работы с сессиями и cookies;
    • Средства работы с удаленными файлами;
    • Поддержка XForms (формы, созданные на основе XML );
    • Приближенность синтаксиса PHP к языку C;
    • Отсутствие строгой типизации – типизация переменных осуществляется динамически.

    Типы данных – это то, с чего начинают изучение PHP

    • Поддержка ООП (объектно-ориентированного программирования );
    • Большой набор суперглобальных (предопределенных) массивов, предназначенных для работы с веб-пространством.
    Что такое MySQL?

    MySQL – это свободно распространяемая СУБД от компании Oracle . Вместе с бесплатной версией ведется разработка и коммерческих выпусков под заказ. Именно благодаря этому все новые разработки корпорации обязательно внедряются и в бесплатные выпуски СУБД :

    Особенности СУБД MySQL :

    • Поддержка механизма репликации данных, начиная с первых выпусков MySQL .

    Репликация – процесс синхронного копирования всех изменений источника сразу на нескольких его экземплярах. То есть любое действие над данными одной копии объекта отразиться и во всех остальных его образцах.

    • Поддерживается работа, как с локальными источниками, так и с удаленными;
    • Встроенная поддержка большого количества типов таблиц. Причем благодаря открытому коду список поддерживаемых типов таблиц увеличивается;
    • Широкий диапазон кроссплатформенности;
    • Размер таблиц баз данных MySQL ограничивается лишь возможностями операционной системы, на которой развернута СУБД ;
    • Поддержка большинства популярных языков программирования с помощью API (интерфейса прикладного приложения ).

    Более подробную информацию о возможностях СУБД можно узнать из любого самоучителя или справочника по MySQL.

    С чего начать?

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

    Несколько оптимальных вариантов:

    • Apache HTTP Server – можно скачать на официальном сайте разработчика;
    • Денвер – наиболее оптимальный вариант для установки и дальнейшего использования. Пакет инсталляции включает в себя сервер Apache, PHP и MySQL . В первом варианте вам бы пришлось все это скачивать и устанавливать по отдельности.
    • XAMPP – набор, включающий в себя PHP и MySQL . А также встроенный самоучитель по PHP :

    Оба набора включают в себя утилиту для создания и изменения баз данных на основе MySQL с помощью запросов на T-SQL . Но для написания кода на PHP понадобится редактор с поддержкой синтаксиса этого языка. Несколько наиболее подходящих вариантов:

    • PHPEdit ;
    • Microsoft WebMatrix ;
    • Kantharos PHP IDE ;
    • Adobe Dreamweaver .

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