Сайт о телевидении

Сайт о телевидении

» » Обучение языку программирования php с нуля. PHP Online: курс для чайников. Введение

Обучение языку программирования php с нуля. PHP Online: курс для чайников. Введение

1. Подружитесь со справочником по PHP

Если вы новичок в PHP, значит, пришло время познакомиться с внушающим почтение справочником PHP. Справочник по PHP невероятно исчерпывающий и содержит действительно полезные комментарии к каждой статье. Перед тем, как задавать вопросы или пытаться самостоятельно разрешить проблему, сэкономьте время и просто возьмите курс на справочник. Ответы на ваши вопросы уже удобно разместились в полезной статье на сайте PHP.net.
В данном случае мы Вам рекомендуем поискать самостоятельно справочники на русском языке, лучше php для начинающих. Будем рады, если Вы дадите ссылке на полезные справочники в комментариях к статье (Просто учитывайте, что это перевод статьи).

2. Включите отчет об ошибках

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

Если вы не используете отступы и пробелы в коде, то результат выглядит, как картина Джексона Поллака (Jackson Pollack). Обеспечьте читаемость своего кода и нормальный поиск, потому что почти наверняка в будущем вы будете делать в нем изменения. IDE и современные текстовые редакторы могут автоматически делать отступы в коде.

7. Делайте код многоуровневым

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

8. Всегда используйте

Часто программисты пытаются использовать сокращения в операторах PHP. Вот как это обычно делается:

<% echo "Hello world"; %>

echo "Hello world" ;

<% echo "Hello world" ; %>

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

9. Используйте содержательные, последовательные названия

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

10. Комментируйте, комментируйте, комментируйте

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

11. Установите MAMP/WAMP

MySQL — самый популярный вид базы данных, используемый с PHP (хотя и не единственный). Если нужно настроить локальное окружение для разработки и тестирования ваших PHP-приложений на компьютере, предусмотрите установку MAMP (Mac) или WAMP (Windows). Установка MySQL на ваш собственный компьютер может стать утомительным процессом, а оба этих программных пакета содержат MySQL. Ловко и просто.

12. Установите лимиты своим скриптам

Установка лимита времени на PHP-скрипты – очень ответственная вещь. Бывают моменты, когда скрипты выходят из строя, и когда это произойдет, вам придется использовать свойство set_time_limit (установить лимит времени), чтобы избежать бесконечно повторяющихся циклов и истечения таймаутов времени соединения с базой данных. Set_time_limit устанавливает лимит времени на максимальное количество секунд, за которое выполняется скрипт (по умолчанию 30). По истечении этого времени возбуждается неустранимая ошибка.

13. Используйте объекты (или ООП)

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

14. Поймите разницу между одинарными и двойными кавычками

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

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

15. Не ставьте phpinfo() в свой Webroot

Phpinfo – чудесная вещь. Просто создав PHP-файл, в котором есть:

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

16. Никогда, никогда не доверяйте своим пользователям

Если в приложении есть места для входа пользователей, вы всегда должны предполагать, что кто-то попробует ввести сомнительный код. (Мы не подразумеваем, что ваши пользователи — плохие люди. Это просто здравый смысл.) Отличный способ уберечь свой сайт от хакеров – всегда инициализировать свои переменные для защиты сайта от XSS-атак. На PHP.net есть пример должным образом закрытой формы с инициализированными переменными:

if (correct_user ($_POST [ "user" ] , $_POST [ "password" ] ) {

$login = true ;

if ($login ) {

forward_to_secure_environment () ;

17. Храните пароли зашифрованными

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

echo md5("myPassword"); // renders -

echo md5 ("myPassword" ) ; // renders -

Возражение: Тем не менее, помните, что хэши MD5 уже давно скомпрометированы. Безусловно, они скорее безопасны, чем нет, но с помощью гигантской “спектральной таблицы” хакеры могут восстановить ваш хэш. Для обеспечения еще большей безопасности обдумайте возможность добавления «соли» (помех в виде «белого шума»). «Соль» – это обычно дополнительный набор символов, которые вы присоединяете к пользовательской строке.

18. Используйте инструменты визуализации баз данных

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

19. Используйте буферизацию вывода

Буферизация вывода – это простой способ очень сильно улучшить качество и скорость вашего PHP-скрипта. Без буферизации вывода ваш скрипт будет показывать HTML на странице так, как он обрабатывается – частями. Добавление буферизации вывода позволяет PHP хранить HTML как переменную и посылать его на браузер единой порцией.

Для активирования функции буферизации вывода просто добавьте ob_start() как здесь в начале файла.

Возражение: Хотя это и не требуется, обычно считается хорошей практикой просто взять и прикрепить функцию “ob_end_flush();” к концу документа. P.S. Хотите также сжать HTML? Просто смените “ob_start();”на “ob_start(‘ob_gzhandler’)”;

XHTML

untitled

untitled

20. Оберегайте свой скрипт от атаки SQL-injection

Если вы не отделяете (escape) символы, использующиеся в строках SQL, ваш код уязвим для атаки SQL-injection. Избежать этого можно, используя либо функцию mysql_real_escape_string (прим. перев. для отделения символов), либо подготовленные операторы SQL (prepared statements).

Вот пример mysql_real_escape_string в действии:

$username = mysql_real_escape_string($GET["username"]);

$username = mysql_real_escape_string ($GET [ "username" ] ) ;

И подготовленного оператора:

21. Попробуйте ORM

Если вы пишете объектно-ориентированный PHP, то можете использовать OR-mapping (ORM). ORM позволяет вам преобразовывать данные между реляционными базами данных и языками объектно-ориентированного программирования. Короче говоря, ORM дает возможность работать с базами данных таким же образом, каким вы работаете с классами и объектами в PHP.

Для PHP есть множество ORM-библиотек, таких как Propel, а также ORM встроен в фреймворки PHP, такие, как CakePHP.

22. Кэшируйте страницы, управляемые базой данных

Кэширование PHP-страниц, управляемых базой данных – отличная идея для улучшения скорости загрузки и производительности своего скрипта. В действительности не так уж трудно создать и извлечь статические файлы содержимого при помощи нашего доброго друга ob_start(). Вот пример, взятый со Snipe.net:

// TOP of your script $cachefile = "cache/".basename($_SERVER["SCRIPT_URI"]); $cachetime = 120 * 60; // 2 hours // Serve from the cache if it is younger than $cachetime if (file_exists($cachefile) && (time() - $cachetime < filemtime($cachefile))) { include($cachefile); echo ""; exit; } ob_start(); // start the output buffer // Your normal PHP script and HTML content here // BOTTOM of your script $fp = fopen($cachefile, "w"); // open the cache file for writing fwrite($fp, ob_get_contents()); // save the contents of output buffer to the file fclose($fp); // close the file ob_end_flush(); // Send the output to the browser

// TOP of your script

$cachefile = "cache/" . basename ($_SERVER [ "SCRIPT_URI" ] ) ;

$cachetime = 120 * 60 ; // 2 hours

// Serve from the cache if it is younger than $cachetime

if (file_exists ($cachefile ) && (time () - $cachetime < filemtime ($cachefile ) ) ) {

include ($cachefile ) ;

Удерживая за собой "первый номер", PHP один из самых популярных языков среди разработчиков. Хотя многие предпочитают и другие языки. Например, многие предпочитают работать в ASP.NET. Однако, из-за большой популярности Wordpress, все больше и больше разработчиков решают, расширить свои горизонты и выучить еще один язык.

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

Мои Планы

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

А зачем же вам учиться у новичка? Постараятесь не думать, что я учу вас. Думайте об этих статьях, как о сообществе, в котором все помогают друг другу. Я так же многому научусь у вас, так же как и вы у меня.

Что такое PHP?

PHP - означает Гипертекстовый Препроцессор (Hypertext Preprocessor). В то время, как другие языки, такие как Javascript, работают на клиентской части, ваш PHP код, будет работать на серверной части. Он работает без проблем с нашим HTML. Кроме того, ваш PHP может быть встроен в ваш HTML и наоборот. Важно помнить, что независимо от сложности вашего PHP это в конечном итоге будет выводиться как простой HTML.

Почему Мне стоит использовать PHP?

HTML на 100% статичен. Используя код на PHP, мы можем делать динамические сайты, которые могут меняться в зависимости от условий. С сообществом, которому нет равных, этот язык с открытым исходным кодом зарекомендовал себя на протяжении многих лет как один из лучших вариантов для динамических веб-приложений.

Абсолютно. Я был приятно удивлен в начале обучения. Ели у вас есть базовые знания в области ASP.NET, Perl, Javascript, или C#, вы быстро освоитесь с синтаксисом языка.

Что мне нужно чтобы начать Заниматься?

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

  • Apache
  • MySQL
  • Браузер
  • Текстовый редактор или редактор кода

WAMP, MAMP

Да, я должен извиниться, но вам нужно выучить несколько сокращений. WAMP - означает "Windows-Apache-MySQL-PHP". Это открытый проект, который позволит нам загрузить все, что нам нужно, чтобы начать работу. Если вы пользователь Windows, то я рекомендую вам зайти на WampServer.com . А если вы пользуетесь Mac (MAMP), то тогда вам нужно будет зайти на Mamp.info

Видео Уроки

Наша первая остановка - это . Возможно больше чем какой либо ресурс Linda.com, дала мне много ценных знаний за который я всегда буду благодарен. За цену эквивалентную паре пицц, вы получите доступ к базе из видео, где детально рассматривается все, начиная от ASP до SEO - и так же все другие сокращения между ними. Если клиент спрашивает с меня работу с каким-то софтом с которым я мало знаком, первое куда я обращаюсь - это Linda.com. Если вы до сих пор сомневаетесь, то почему бы вам не нагуглить "Lynda.com free trial". Я вас уверяю, вы обязательно для себя что-то найдете. Просто убедитесь, что вы более чем удовлетворены тем, что они предлагают, и тогда подписывайтесь.

После того как вы создадите себе там подписку, или подпишитесь на бесплатный пробный период, зайдите на сайт, и в выпадающем меню по Предметам, пролистайте до PHP. Для этого урока, мы сосредоточимся на видео "PHP with MySQL Essential Training". Постарайтесь посмотреть первые три урока на этой неделе. Это подготовит вас к нашим урокам на следующей неделе.

Основы

Чтобы обратится к серверу с которым мы работаем с помощью PHP, вам нужно использовать следующий синтаксис при добавлении PHP кода в ваш HTML документ:

Мы начинаем и заканчиваем каждый php блок с "" соответственно. Посмотрите свой код и вставьте в него следующее:

Обратите внимание, что во втором примере, мы все записали в одну строчку. Помните, что PHP, не обращает внимание на пропуски. Здесь мы говорим обращаемся к серверу с командой о выводе “echo”, чтобы он вывел на экран фразу "This is PHP in action". Каждая команда в нашем коде должна заканчиваться точкой с запятой в конце. Хотя HTML, может простить вам, если вы случайно забудете закрывающую скобку, PHP, вам этого не простит. Если вы не будете корректно использовать эти правила синтаксиса, вы получите сообщение об ошибке. В этом случае, когда у нас есть только одно объявление,то возможно нам сойдет с рук и мы можем пропустить точку с запятой. Но с самого начала надо учиться писать правильный код.

Объявление переменных

Объявление переменных делается достаточно просто. Вместо того, чтобы использовать “var” (как в C# или Javascript), или “dim” (VB), мы можем объявить переменную использовав символ $. Например, предположим, что я хочу предыдущую строку присвоить переменной с именем “myVariable”. Я могу написать...

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

Используя такую запись, мы можем комбинировать переменные и/или строки.

Вставляем Комментарии в Ваш Код

Если вы знакомы с CSS и Javascript, вы увидите, что комментирование в PHP, такое же.

Объединяем HTML с Нашим PHP

Как я уже говорил, вы должны помнить, что php и html могут работать в связке. То, что мы находимся внутри PHP кода, не означает, что мы не можем с вами вставить разрыв или тэг strong.

This text is bold."; ?>

Создаем Нашу Первую Функцию()

Создание функции в PHP похоже на объявление функции в Javascript. Основное правило записи следующее...

Если мы хотим создать функцию, которая будет выводить-"echos" 10 плюс 5, мы должны записать так..

Мы создали простую функцию, которая выводит “15”. Мы назвали функцию addNumbers(). В данном случае, мы не используем аргументов. Давайте посмотрим теперь, как мы можем их использовать, чтобы сделать нашу функцию более гибкой.

Теперь наш код стал более универсальным. При создании нашей функции addNumbers(), мы добавили ей два аргумента $firstNumber и $secondNumber. И функция просто выводит сумму этих двух аргументов. При вызове функции, на нужно подставить в нее два числа addNumbers(10, 5). В реальной ситуации, это могли бы быть значения из текстовых полей.

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

Необходимые Ресурсы

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

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

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

Для чего нужен PHP

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

Оптимизировать администрирование сайта позволяет использование PHP (акроним для PHP: Hypertext Preprocessor «гипертекстовый препроцессор») – скриптового языка программирования, позволяющего создавать динамически наполняемые веб-страницы. Его применение дает возможность сделать ресурс действительно интерактивным, а процесс управление сайтом – простым и менее затратным в плане приложенных усилий. Онлайн курсы PHP от WebShake помогает овладеть основами скриптового языка с нуля, научиться создавать динамические ресурсы, которые легко модифицировать и поддерживать.

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

Преимущества скриптового языка

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

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

Высокая скорость выполнения сценариев повышает эффективность и востребованность PHP, а способность интегрироваться с другими языками (в частности, HTML, JavaScript) позволяет подстраивать Hypertext Preprocessor под потребности конкретного веб-разработчика.

Возможности PHP

Разработка сайта с использованием этого скриптового языка позволяет:

  • Уменьшить потребности интернет-страницы в ресурсах. Веб-приложение занимает меньше места, становится «легче», а значит – быстрее открывается.
  • Значительно упростить процесс управления интернет-страницей, внесения изменений. Статичные сайты не отвечают реалиям сегодняшнего дня, так как попросту не успевают за происходящим вокруг. Невозможность идти в ногу со временем в конечном счете сказывается на посещаемости.
  • Обеспечить эффективный анализ работы сайта (вести статистику посещаемости и т. д.).

Эффективность Hypertext Preprocessor по достоинству оценена крупнейшими компаниями. Наш курс по PHP для начинающих позволяет не отвлекаясь от работы или учебы приобрести необходимые навыки и знания для успешного построения карьеры в сфере веб-разработки.

Есть в веб-программировании такие дисциплины, основы которых обязан знать любой человек, связанный с всемирной паутиной. Поэтому, так или иначе, а изучать 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 .

Интернет в современном мире занимает всё более прочные позиции. Лет 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).Есть ещё несколько ограничений, о которых мы поговорим при изучении соответствующих разделов.