|
|
|
[PHP] Класс для БД-функций
|
|||
|---|---|---|---|
|
#18+
Пишу проект на классах. Для работы с базой (oracle) в нем используется функции oci-библиотеки. Задался риторическим вопросом: а нужен ли вообще класс для работы с БД? Чем это выигрывает по сравнению с прямым вызовом функций OCI? Да, в конструкторе можно сразу инициализировать нужные переменные, приконнектиться к базе, в деструкторе соответственно - отконнектиться. Ну а дальше получается все функции класса будут просто дублировать функции OCI. Имеет ли смысл тогда просто их запихивать в класс? Кто что думает по этому поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 21:15 |
|
||
|
[PHP] Класс для БД-функций
|
|||
|---|---|---|---|
|
#18+
trustno1Задался риторическим вопросом: а нужен ли вообще класс для работы с БД? Чем это выигрывает по сравнению с прямым вызовом функций OCI?Если не используешь Оракловых особенностей (честно - вообще с этой СУБД не знаком), ограничиваясь SQL, то в случае необходимости перехода на другую СУБД достаточно будет переписать класс работы с БД (попросту говоря, сделать $db = new КлассИспользуемойСУБД();), чтобы скрипты как ни в чём не бывало заработали уже с ней. Кроме того, если захочется прикрутить дополнительный функционал (например, вести логи запросов и время их выполнения) - опять-таки, изменения коснуться лишь класса работы с БД - остальной код, как ни в чём не бывало, останется незатронутым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 21:29 |
|
||
|
[PHP] Класс для БД-функций
|
|||
|---|---|---|---|
|
#18+
ИМХО классы для работы с БД используют для того : 1. ускорить работу программера (именно программера а не скрипта) 2. для абстракции доступа к БД (чтобы потом можно было перевести проект на другую СУБД с мининумом усилий) Вобщем-то я сторонник этих классов. Вот похожее обсуждение с моими мыслями : http://forums.webscript.ru/showthread.php?s=&threadid=18697& ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 21:59 |
|
||
|
[PHP] Класс для БД-функций
|
|||
|---|---|---|---|
|
#18+
* trustno1Задался риторическим вопросом: а нужен ли вообще класс для работы с БД? Чем это выигрывает по сравнению с прямым вызовом функций OCI?Если не используешь Оракловых особенностей (честно - вообще с этой СУБД не знаком), ограничиваясь SQL, то в случае необходимости перехода на другую СУБД достаточно будет переписать класс работы с БД (попросту говоря, сделать $db = new КлассИспользуемойСУБД();), чтобы скрипты как ни в чём не бывало заработали уже с ней. Кроме того, если захочется прикрутить дополнительный функционал (например, вести логи запросов и время их выполнения) - опять-таки, изменения коснуться лишь класса работы с БД - остальной код, как ни в чём не бывало, останется незатронутым. оракловые особенности как раз используются, поэтому вносить изменения придется по-любому, хотя переход на др. БД не планируется. Насчет доп. функциоанала, конечно, согласен, придется изменять только класс, просто наверное меня смущает, что пока этот класс довольно куцый и потворяет функции оракловой библиотеки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 21:59 |
|
||
|
[PHP] Класс для БД-функций
|
|||
|---|---|---|---|
|
#18+
trustno1Насчет доп. функциоанала, конечно, согласен, придется изменять только классВот и не парься, как только тебе понадобится что-то подобное - сам прочувствуешь, насколько это облегчает жизнь. Хотя, возможно, для того, чтобы прочувствовать до конца (на ошибках учатся) для начала стоит наступить на грабли и сделать без классов ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 23:24 |
|
||
|
[PHP] Класс для БД-функций
|
|||
|---|---|---|---|
|
#18+
* trustno1Насчет доп. функциоанала, конечно, согласен, придется изменять только классВот и не парься, как только тебе понадобится что-то подобное - сам прочувствуешь, насколько это облегчает жизнь. Хотя, возможно, для того, чтобы прочувствовать до конца (на ошибках учатся) для начала стоит наступить на грабли и сделать без классов ;) до этого как раз было без классов, сейчас переделываю и на многое открываются глаза :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 01:58 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33061094&tid=1478294]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
417ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 700ms |

| 0 / 0 |
