Что такое php что такое mysql

Учебник по PHP 4

Сколько новых сайтов Вы делаете за год? результаты

Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql
Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql

PHP и MySQL. Совместная работа

Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql
Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql
Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql
Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysqlПредыдущаяСледующаяЧто такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql

Что такое MySQL. Взаимодействие с PHP

Итак, для начала ответим на вопрос: что такое MySQL?

MySQL – это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для интернет сайтов, как небольших, так и достаточно крупных.

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

Немаловажным фактором является ее бесплатность. MySQL распространяется на условиях общей лицензии GNU (GPL, GNU Public License).

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

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

Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql
Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysqlПредыдущаяСледующаяЧто такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql
Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysql

Если Вам нужна частная профессиональная консультация от авторов многих книг Кузнецова М.В. и Симдянова И.В., добро пожаловать в наш Консультационный Центр SoftTime.

Источник

Краткий обзор

Этот раздел посвящён описанию инструментов для взаимодействия PHP-приложений с базами данных MySQL.

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

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

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

Что такое коннектор?

В документации MySQL термин коннектор (connector) относится к части программного обеспечения, отвечающей за подключение к серверу MySQL. MySQL предоставляет множество коннекторов для различных языков программирования, в частности для PHP.

Для обеспечения взаимодействия PHP приложения с сервером баз данных вам необходимо написать PHP-код, выполняющий подключение к серверу, выполнение запросов к базе данных и тому подобные операции. От программного обеспечения сервера требуется предоставить API, которое ваше PHP-приложение сможет использовать, а также функционал, ответственный за взаимодействие вашего приложения с сервером. Программное обеспечение, реализующее такой функционал, обычно называют коннектором, так как оно позволяет вашему приложению подключиться ( to connect) к серверу баз данных. В ряде случаев коннектор для своих нужд может потребовать дополнительные библиотеки.

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

В качестве примера можно привести уровень абстракции для работы с базами данных Объекты данных PHP (PDO), который может использовать один из нескольких драйверов, специфичных для конкретных баз данных. В качестве такого драйвера может выступать драйвер PDO MYSQL, который позволяет PDO взаимодействовать с MySQL-сервером.

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

В документации к PHP вы будете неоднократно сталкиваться с термином модуль. Код PHP как такового состоит из ядра и присоединённых к нему необязательных модулей, которые увеличивают круг задач, которые может выполнять ядро. Относящиеся к MySQL модули, такие как mysqli и драйвер PDO MySQL, взаимодействуют с ядром с помощью фреймворка PHP модулей.

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

Драйвер PDO MySQL, например, не предоставляет своего API. Он предоставляет интерфейс только абстрактному слою PDO, лежащему выше.

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

Какие инструменты для работы с MySQL предлагает API PHP?

API предоставляет на выбор два набора инструментов для подключения к серверу баз данных MySQL:

Объекты данных PHP (PDO)

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

Что такое PHP-модуль mysqli?

Поддержка подготавливаемых запросов

Улучшенные возможности отладки

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

Объекты данных PHP, или PDO, представляют из себя абстракцию коннектора баз данных для PHP приложений. PDO предоставляет API интерфейс взаимодействия с базой данных, не зависящий от конкретной СУБД. Теоретически, при использовании PDO можно поменять сервер баз данных, например с Firebird на MySQL, и это приведёт лишь к незначительным изменениям в PHP-коде.

В качестве других подобных абстракций можно привести JDBC для Java-приложений и DBI для Perl.

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

Дополнительную информацию о PDO смотрите в разделе PDO.

Что такое драйвер PDO MYSQL?

Драйвер PDO MYSQL не является API как таковым, во всяком случае с точки зрения программиста. Драйвер PDO MYSQL располагается между самим PDO и сервером MySQL. Программист вызывает функции интерфейса API PDO, а PDO в свою очередь использует драйвер PDO MYSQL для обмена данными и командами с сервером MySQL.

Драйвер PDO MYSQL лишь один из многих PDO-драйверов. Для большинства СУБД есть свои PDO драйверы, как например драйверы для Firebird или PostgreSQL серверов.

Дополнительно о драйвере PDO MYSQL можно прочитать в разделе MySQL (PDO).

Что такое нативный драйвер MySQL для PHP?

В приведённой таблице приводится сравнение функционала основных методов подключения к MySQL из PHP:

Источник

PHP и MySQL

Основы MySQL: часть 1.

Что такое MySQL

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

Подключение к серверу MySQL

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

Код подключения к серверу MySQL:

В данном случае я работаю на локальном компьютере на Denwere, поэтому имя хоста localhost, имя пользователя root, а пароля нет.

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

Ошибки подключения

Для проверки подключения используются следующие функции:

Функция mysqli_get_host_info() возвращает строку, содержащую тип используемого соединения.

Выбор базы данных

На сервере MySQL может быть несколько баз данных. Первым делом нам нужно выбрать для работы нужную нам базу. В PHP для этого в функции mysqli_connect() есть ещё один параметр — имя базы данных.

Я создал у себя на компьютере через phpMyAdmin с именем tester. Подключаемся к ней:

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

Создаём таблицу

В названии баз данных MySQL часть SQL обозначает Structured Query Language, что переводится как структурированный язык запросов. На языке SQL мы будем писать запросы и из программы PHP посылать их серверу MySQL.

У этого скрипта есть один недостаток — он ничего не выводит в браузер. Давайте добавим сообщение:

Если мы повторно запустим этот скрипт на выполнение, то увидим в браузере сообщение: «Таблица не создана». Дело в том, что таблица была создана при первом запуске, а повторно невозможно создать таблицу с таким же именем. Мы столкнулись с ситуацией возникновения ошибки, значит настало время поговорить об обработке ошибок при работе с MySQL.

Обработка ошибок

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

Теперь давайте добавим функцию mysql_error() в наш скрипт:

Теперь наш скрипт вернёт в браузер строку: «Таблица не создана: Table ‘users’ already exists».

Удаление таблицы

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

Итоги

Итак, мы освоили основы MySQL. Что мы научились делать:

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

Потом мы подробно рассмотрим типы данных MySQL.

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

Источник

Работа с MySQL в PHP

PHP поддерживает работу с базой данных MySQL.
Специальные встроенные функции для работы с MySQL позволяют просто и эффективно работать с этой СУБД: выполнять любые запросы, читать и записывать данные, обрабатывать ошибки.
Сценарий, который подключается к БД, выполняет запрос и показывает результат, будет состоять всего из нескольких строк. Для работы с MySQL не надо ничего дополнительно устанавливать и настраивать; всё необходимое уже доступно вместе со стандартной поставкой PHP.

Что такое mysqli?

mysqli (MySQL Improved) — это расширение PHP, которое добавляет в язык полную поддержку баз данных MySQL. Это расширение поддерживает множество возможностей современных версий MySQL.

Как выглядит работа с базой данных

Типичный процесс работы с СУБД в PHP-сценарии состоит из нескольких шагов:

Функция mysqli connect: соединение с MySQL

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

Базовый синтаксис функции mysqli_connect() :

Проверка соединения

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

Соединение с MySQL и проверка на ошибки:

Функция mysqli_connect_error() просто возвращает текстовое описание последней ошибки MySQL.

Установка кодировки

Первым делом после установки соединения крайне желательно явно задать кодировку, которая будет использоваться при обмене данными с MySQL. Если этого не сделать, то вместо записей со значениями, написанными кириллицей, можно получить последовательность из знаков вопроса: ‘. ’.
Вызови эту функцию сразу после успешной установки соединения: mysqli_set_charset($con, «utf8»);

Выполнение запросов

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

Два вида запросов

Следует разделять все SQL-запросы на две группы:

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

Добавление записи

Вернёмся к нашему проекту — дневнику наблюдений за погодой. Начнём практическую работу с заполнения таблиц данными. Для начала добавим хотя бы один город в таблицу cities.

Выражение INSERT INTO используется для добавления новых записей в таблицу базы данных.

Функция insert id: как получить идентификатор добавленной записи

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

Чтение записей

В этом примере показано, как вывести все существующие города из таблицы cities:

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

Цикл while здесь используется для «прохода» по всем записям из полученного набора записей.
Значение поля каждой записи можно узнать просто обратившись по ключу этого ассоциативного массива.

Как получить сразу все записи в виде двумерного массива

Иногда бывает удобно после запроса на чтение не вызывать в цикле mysqli_fetch_array для извлечения очередной записи по порядку, а получить их сразу все одним вызовом. PHP так тоже умеет. Функция mysqli_fetch_all($res, MYSQLI_ASSOC) вернёт двумерный массив со всеми записями из результата последнего запроса.
Перепишем пример с показом существующих городов с её использованием:

Как узнать количество записей

Источник

Обзор PHP и MySQL

В этой статье содержится вводное описание системы PHP и СУБД MySQL (система управления базами данных), а также описано взаимодействие этих программных продуктов. В ней приведены самые общие сведения об указанных инструментальных средствах, в частности, речь идет о том, для чего они предназначены и какое место занимают по сравнению с аналогичными программными средствами.

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

Компоненты PHP-приложения

Для создания и развития динамических веб-страниц вам потребуется понимать и использовать различные технологии. Разработка динамических веб-страниц включает три основных компонента: веб-сервер, язык программирования сценариев, исполняемых на стороне сервера, и базу данных. Разрабатывая веб-приложения с применением PHP, надо понимать все три компонента. Мы начнем с элементарных сведений об истории и назначении Apache (веб-сервер), PHP (язык программирования сценариев, исполняемых на стороне сервера) и MySQL (база данных). Это поможет вам осознать, как они вписываются в общую картину разработки веб-приложений.

Язык PHP родился из потребности разрабатывать и поддерживать веб-сайты, обладающие динамической клиент-серверной функциональностью. В 1994 году Расмус Лердорф (Rasmus Lerdorf) разработал набор сценариев с открытым исходным кодом на языке Perl, которые впоследствии были переписаны на языке C и превратились в то, чем является современный язык PHP.

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

Apache

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

Apache – не единственный доступный веб-сервер. Другой популярный веб-сервер – Internet Information Services (IIS) компании Microsoft, поставляемый с операционной системой Windows 2000 и ее последующими версиями. Различия между Apache и IIS сводятся, главным образом, к личным предпочтениям, хотя Apache имеет бесспорные преимущества, будучи свободно распространяемым с открытым исходным кодом и неограниченной лицензией.

Мы будем работать с текущей версией – Apache 2.x, хотя версия 1.3 тоже достаточно часто используется. Веб-сервер IIS проще интегрируется с Active Directory – новейшей системой аутентификации компании Microsoft, – но применяется, в основном, для организации внутренних веб-сайтов компаний.

Сегодня используются две основные версии Apache: 1.3 и 2. Веб-сервер Apache 2 полностью переписан и поддерживает модель управления потоками исполнения. Потоки позволяют одновременно решать несколько задач в рамках одного процесса. Это повышает скорость работы и снижает потребность в ресурсах. К сожалению, PHP пока еще не полностью совместим с многопоточной моделью исполнения. Поскольку версия Apache 2 появилась достаточно давно, можно считать ее достаточно стабильной для использования в разработках и эксплуатации.

Преимущество Apache – и его способность работать в операционных системах, отличных от Windows, что подводит нас к разговору о совместимости. Но перед этим мы также вкратце рассмотрим реляционные базы данных и язык SQL.

SQL и реляционные базы данных

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

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

– это полнофункциональная свободно распространяемая система управления реляционными базами данных. MySQL начали разрабатывать в 1990-х годах, поскольку потребность в разумном управлении компьютерной информацией постоянно росла. Разработчики ядра MySQL пытались решить эту проблему с помощью маленькой и простой базы данных mSQL. Когда выяснилось, что mSQL не справляется со всеми задачами, которые создателям хотелось на нее возложить, они создали более мощную базу данных, которая превратилась в MySQL.

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

Основные версии MySQL

В качестве механизма по умолчанию добавлен механизм базы данных MyISAM. Эффективно обрабатывает большие объемы данных. Дебютировал механизм базы данных InnoDB для безопасного выполнения транзакций и поддержки внешних ключей (foreign keys). Внешние ключи позволяют организовать однозначные взаимоотношения между таблицами базы данных

Появилась поддержка объединений (union) в запросах. Объединения позволяют совместить результаты двух запросов. Стало возможным изменять конфигурацию (настройки) без перезапуска базы данных

Появилась новая команда help для клиентов базы данных. Добавлена поддержка неименованных обзоров (unnamed views), также называемых подзапросами (subquery). Неименованные обзоры позволяют рассматривать запрос как отдельную таблицу внутри другого запроса. Появилась поддержка наборов символов Юникода

Добавлены триггеры (triggers), хранимые процедуры (stored procedures), механизмы обеспечения ссылочной целостности (constraints) и курсоры (cursors).

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

Добавлены механизмы секционирования (partitioning) и планирования (scheduling), интерфейс модулей расширения (Plug-in API) и механизм построчной репликации (row-based replication).

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

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

Действующей версией MySQL считается последняя доступная версия 5.x. MySQL 5.x по производительности сопоставима с любой из гораздо более дорогих баз данных уровня предприятия, например Oracle, Informix, DB2 (IBM) или SQL Server (Microsoft). Такое повышение производительности стало возможным благодаря усилиям многих талантливых разработчиков открытого исходного кода, а также тестированию в сообществе. Механизм базы данных по умолчанию MyISAM прекрасно справляется с основными задачами баз данных, связанных с веб-приложениями.

Совместимость

Такие веб-браузеры, как Safari, Firefox, Opera, Google Chrome и Internet Explorer, предназначены для обработки документов в формате HTML, и им все равно, под управлением какой операционной системы работает веб-сервер.

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

Запрос данных веб-страницы

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

Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysqlПользователь только вводит URL и нажимает клавишу Enter, а обработка запроса выполняется «за кадром» в несколько шагов

Описание шагов, приведенных на рисунке:

Вы вводите в адресной строке браузера адрес веб-страницы.

Браузер разбивает адрес на составляющие и отправляет имя страницы веб-серверу. Например, после ввода адреса /index.html серверу www.addphp.ru будет отправлен запрос на получение страницы index.html.

Программа на веб-сервере, называемая процессом веб-сервера, принимает запрос на получение страницы index.html и находит требуемый файл.

Веб-сервер читает файл index.html с жесткого диска.

Веб-сервер возвращает браузеру содержимое файла index.html.

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

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

Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysqlСовместные действия интерпретатора PHP, MySQL и веб-сервера по созданию страницы

Описание всех шагов последовательности:

Вы вводите адрес веб-страницы в адресной строке браузера.

Браузер разбивает адрес на составляющие и отправляет имя страницы веб-серверу.

Процесс веб-сервера на хосте принимает запрос на получение страницы index.php.

Веб-сервер считывает файл index.php с жесткого диска хоста.

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

Интерпретатор PHP запрашивает у процесса базы данных MySQL обработку обращений к базе данных.

Процесс базы данных MySQL возвращает результаты запроса к базе данных.

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

Веб-сервер возвращает результат браузеру в виде HTML-текста.

Веб-браузер формирует внешний вид веб-страницы на экране вашего компьютера в соответствии с полученным HTML-текстом.

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

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

Преимущества использования PHP и СУБД MySQL

Количество различных базовых систем, на которых могут быть сформированы веб-приложения, довольно велико. В настоящем разделе приведено сравнение PHP с некоторыми другими базовыми системами и отмечены сильные стороны системы PHP и СУБД MySQL.

Стоимость

PHP — один из языков, обозначенных буквой «P» в аббревиатуре LAMP, которая представляет широко применяемый стек программ. В стек LAMP входят такие распространенные программные продукты, как Linux, Apache, MySQL и PHP/Perl/Python, которые эксплуатируются на многих веб-сайтах и поддерживают много веб-приложений.

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

Разумеется, лицензия на СУБД MySQL предоставляется на других условиях, которые не всегда допускают отсутствие платы, но в любом случае остается возможность получить выпуск Community Server бесплатно. Разработчики СУБД MySQL предлагают несколько уровней контрактов поддержки на свой сервер базы данных. Более подробные сведения можно получить по адресу www.mysql.com.

И система PHP, и СУБД MySQL могут эксплуатироваться на многих разновидностях базовых систем, включая различные варианты Linux, Microsoft Windows и др. Использование этого программного обеспечения в такой операционной системе, как Linux, позволяет получить в свое распоряжение полностью бесплатную базовую систему эксплуатации веб-приложений, для приобретения которой не требуется никаких предварительных расходов.

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

Удобство в использовании

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

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

А что касается СУБД MySQL, то для программистов, не имеющих опыта работы с реляционными базами данных или знакомых лишь с такой средой, как Microsoft Access, интерфейс командной строки этой СУБД, а также отсутствие готовых структурных решений могут на первый взгляд показаться довольно обескураживающими. В СУБД MySQL предусмотрено несколько инструментов с графическим интерфейсом пользователя, позволяющих упростить работу с базами данных. Однако какие бы то ни было графические инструментальные средства не заменят изучения теории и не подскажут, в чем заключаются методы качественного проектирования.

Использование кода PHP, встроенного в код HTML

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

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

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

Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysqlРезультат вывода кода HTML, полученного после предварительной обработки кода PHP

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

Что такое php что такое mysql. Смотреть фото Что такое php что такое mysql. Смотреть картинку Что такое php что такое mysql. Картинка про Что такое php что такое mysql. Фото Что такое php что такое mysqlИсходный код страницы в браузере пользователя

Этот код полностью совпадает с тем, который бы отобразился в браузере, если бы эта страница была написан в коде HTML вручную. Поэтому все — очень просто!

Возможность внедрения кода PHP в код HTML влечет за собой целый ряд описанных ниже важных последствий:

Код PHP может быть быстро добавлен к коду, сформированному с помощью программы редактирования с интерфейсом непосредственного отображения (WYSIWYG).

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

Код HTML можно применять непосредственно, а не перезаписывать его для вывода с помощью какого-либо языка программирования.

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

Межплатформенная совместимость

Система PHP совместима с двумя ведущими веб-серверами: HTTP-сервер Apache для Linux/Unix и Windows, а также сервер IIS (Internet Information Server) корпорации Microsoft для Windows. Кроме того, система PHP применяется с несколькими менее известными серверами. Что же касается СУБД MySQL, то при ее эксплуатации не требуется обеспечивать совместимость с каким-то конкретным веб-сервером, поскольку всю необходимую для этого работу выполняет интерпретатор PHP.

Стабильность

В данном контексте под словом «стабильность» подразумеваются две описанные ниже особенности системы:

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

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

К счастью, оба эти аспекта определения понятия стабильности относятся и к СУБД MySQL, и к системе PHP.

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

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

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

Большое количество расширений

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

Кроме того, система PHP обеспечивает взаимодействие с помощью большого количества таких важных протоколов, как POP3, IMAP и LDAP. В выпущенных ранее версиях PHP введена поддержка для Java и распределенных объектных архитектур, таких как COM (Component Object Model — модель компонентных объектов Microsoft) и CORBA (Common Object Request Broker Architecture — общая архитектура брокера запросов к объектам), благодаря чему впервые появилась возможность разработки n-уровневых систем; включена полная графическая библиотека GD и обновлена поддержка XML (Extensible Markup Language — расширяемый язык разметки) наряду с технологиями DOM и simpleXML.

Быстрая реализация новых средств

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

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

Например, изящное расширение xmlrpc-epi, предложенное Дэном Либби (Dan Libby), было принято в состав дистрибутива PHP в версии 4.1 через несколько месяцев после того, как было впервые выпущено в виде независимого пакета.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

ВерсияВозможности
3.23