Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Абстракция базы данных
 
 автор: кон   (18.07.2004 в 17:10)
 
 

Не могли бы вы пояснить, что это такое? Я читал про это в книге "Профессиональное PHP программирование", но если честно не очень понял какая от этого может быть конкретная польза программисту на PHP.

   
 
 автор: cheops   (18.07.2004 в 17:37)   письмо автору
 
   для: кон   (18.07.2004 в 17:10)
 

Дело вот в чём, программируя под MySQL вы можете заметить, что почти все функции для работы с ней начинаются с префикса myslq_. Допустим вы разработали огромный Интернет-магазин, и через некоторое время его база разраслась настолько, что MySQL перестала его "тянуть" (Сразу отмечу, что это маловероятно). Тогда ваше начальство или вы сами можете придти к решению замены MySQL, чем-нибудь дорогим и мощным, например Oracle. Обратившись к мануалу вы обнаружите, что функции для этой базы данных начинаются с префикса oci_. Т.е в коде необходимо внести определённые изменения связанные с названиями функций. Переработав код, и развивая своё Web-приложение дальше, вы можете столкнуться с тем, что вышла новая версия MySQL, полностью вас удовлетворяющая, а лицензии Oracle для вас слишком дороги и необходимо новые измения внести в старый код и т.д.
При абстрактном же подходе, разрабатывается класс или библиотека функций, которыми вы и пользуетесь для создания основного Web-приложения (т.е. вы используете свои функции, со своим префиксом, допустим base_con_ :). Для того, чтобы перевести его на новую базу данных, вам потребуется лишь написать новую версию этого класса или библиотеки, или создать их таким образом, чтобы они сразу поддреживали несколько баз данных.

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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования