Методические указания к выполнению лабораторных и курсовой работ ЙошкарОла 2007
Скачать 0.8 Mb.
|
Создание WEB-приложения на языке PHP с использованием СУБД SQL и библиотеки ADODB. Знакомство с методами блочной вёрстки и шаблонизатора SMARTY.Цель работы: Изучить основы скриптового языка PHP, изучить основные функции библиотеки Adodb, получить практические навыки использования методов блочной верстки, используя компилирующий обработчик шаблонов SMARTY.Порядок выполнения работыОпределиться с семантической структурой будущего Web-приложения.Изучить основы скриптового языка программирования PHP.Разработать примерное графическое представление будущего Web-приложения.Выбрать СУБД. Определить структуру используемых баз данных.Составление логического каркаса Web-приложения с использованием языка программирования PHP и библиотеки Adodb. Разработать окончательный web-интерфейс приложения с использованием одного из методов блочной верстки со SMATRY-взаимодействием с PHP.Оформить отчёт.Содержание отчета Титульный лист; Цель работы; Описание структуры приложения и основных приёмов разработки; Выводы; Исходные тексты скриптов и шаблонов. Основные сведенияБиблиотека ADODBADODB — это абстрактный класс доступа к базам данных, написанный на PHP. Преимущества Adodb заключаются в легкости в изучения Windows-программистами, поскольку использует синтаксис близкий к Microsoft ADO. В отличие от других PHP классов, которые в основном фокусируются только на SELECT-запросах, обращается внимание также на команды вставки (INSERT) и изменения (UPDATE) данных, которые очень быстро могут модернизироваться под потребности различных баз данных. Также существуют методы для обработки дат, конкатенации строк и экранирования строк по правилам различных баз данных. Система мета-типов построена так, что можно быть уверенными, что сохраняемые данные, например CHAR, TEXT, STRING, будут одинаковыми для всех баз данных. Adodb присуща легкая переносимость, потому что все низкоуровневые функции вынесены отдельно и нет необходимости вносить изменения в ядро класса, также реализована переносимость на уровне создания таблиц и индексов и поддержка сессии на уровне базы данных, поддержка истечения времени сессии и уведомлений. Особое внимание уделяется контролю работы базы данных и тонкой настройке производительности. Работа с AdodbДля работы Adodb необходим PHP версии 4.0.5. Библиотеку Adodb можно взять на официальном сайте Adodb: http://adodb.sourceforge.net. Инициализация классаДля запуска ADODB требуется 2 файла: первый – adodb/adodb.inc.php (содержит базовые функции, которые используются во всех классах) и, второй, - adodb/driver/adodb-????.inc.php (определяет специфические для конкретной базы данных функции).
Пример соединения с БД MS SQL SERVER:
или, если вы предпочитаете использовать расширение mssql (который ограничен функциональность mssql 6.5):
Данный пример демонстрирует подключение к БД. В строке
cоздается объект соединения с базой данных. Именно через поля и методы данного объекта и будет в дальнейшем вестись работа с базой данных.
Что касается режима отладки, то по умолчанию он выключен. При включенном режиме отладки на экран броузера будут выводиться SQL-запросы и тексты ошибок (если такие были). Очень упрощает процесс написания и отладки скриптов. Метод $db->setFetchMode() — указывает, каким образом данные о записях будут записаны в массив — будет ли это ассоциативный массив, или простой нумерованный или и тот и другой. Ей нужно установить одно из значений (0, 1, 2, 3). Для пояснений приведен код из исходников adodb:
Судя по исходникам ADODB_FETCH_DEFAULT == ADODB_FETCH_BOTH Приведен запрос к БД:
Это простейший пример запроса к БД. Метод $db->Execute() выполняет запрос к базе данных и возвращает множество записей (recordset). Множество записей (recordset) — в ADODB является отдельным объектом, который имеет свои поля и методы для работы с полученными записями. Некоторые из них использованы в данном примере. $res->EOF — равен true если обработаны все записи множества $res->fields — хранит ассоциативный массив значений текущей записи $res->RecordCount() — возвращает количество строк, полученных входе выполнения запроса $res->MoveNext() — переходит к следующей записи (в массив $res->fields будет занесена следующая запись множества) Метод $db->Execute() — может быть использован для любых запросов:
Некоторые полезные методы класса AdoConnection: $db->getRow($sql) — возвратит массив со значениями первой записи из всего множестве найденных записей. $db->getAll($sql) — возвратит 2-мерный массив со всеми найденными записями Практическое использование |