Використання pear для доступу до бази даних

Використання PEAR для доступу до бази даних

Ми всі звикли до MySQL. Ми любимо його за простоту, легкість освоєння і безліч програм для полегшення роботи (phpMyAdmin). Ми робимо скрипти і замислюємося, а раптом у замовника коштує інша SQL-база? І ось тут ми починаємо вигадувати або завантажувати класи для роботи з різними базами. А чи не простіше використовувати готове, та ще й до того ж включене за замовчуванням в дистрибутив php?

І ось тут ми починаємо вигадувати або завантажувати класи для роботи з різними базами. А навіщо морочити голову і думати, як перевірити, чи працює на інших SQL базах то, що ми написали? А чи не простіше використовувати готове, та ще й до того ж включене за замовчуванням в дистрибутив php? Це прекрасне доповнення до php, про який ви більше зможете дізнатися відвідавши їх сайт.

Сьогодні спробуємо розібратися з їх класом DB, що відповідає за доступ до різних баз даних (MySQL, PostgreSQL, Oracle 7/8 / 8i, Microsoft SQL, InterBase, MiniSQL, SyBase, Informix, FrontBase і універсальний ODBC).

Як не стандартно, при розробці проектів ми зробимо один файл connect.php, який буде підключаться до нашої бази в кожному скрипті, де це необхідно:

Ось, в принципі, і весь наш connect. І якщо ми захочемо використовувати іншу базу даних, нам в цьому скрипті необхідно замінити значення змінної $ TypeSQL, наприклад, на "pgsql" (PostgreSQL).

Тепер приступимо, власне, до створення запитів і роботою з нашою базою даних.

Нічого складного немає. Якщо ви працювали з іншими базами крім MySQL то ви обуритеся, сказавши, що у MySQL є такий чудовий метод, як auto_increment, а в інших базах це реалізовано по іншому. Спробую пояснити, як НЕ ВИКОРИСТОВУВАТИ відразу auto_increment з MySQL і потім не мати головного болю при переході на іншу базу даних.

У PEAR є чудова штука Sequence, яка створює нову послідовність за допомогою createSequence ()

Що б зрозуміти, я поясню простіше: в базі даних створюється таблиця з одним полем, в якому і буде перебувати збільшується значення лічильника записів. Відразу скажу, що якщо ви видалите в середині запис, то послідовність не зменшиться! Тобто якщо було 1,2,3,4,5 і ви видалите запис 3 то буде 1,2,4,5. і наступна послідовність буде 6, а не 3! Послідовність нам необхідна, коли ми робимо вставку в базу даних, тобто INSERT

Уважний читач зробить зауваження: "А обробка помилок ?!" І буде правий. Ми тут її ніде не робили. Для обробки помилок будемо використовувати PEAR. Детальніше можна почитати тут.

Ми ж тут використовуємо обробник помилок (режим PEAR_ERROR_CALLBACK) на підставі нашої функції, який буде викликатися і зупиняти роботу в будь-якому місці програми, де викликана помилка, з докладним описом. Для цього використовуємо наш файл connect.php

Ось, власне, і все. Більш детальну інформацію про PEAR, де є і шаблони, і робота з поштою, і багато іншого, ви можете дізнатися, відвідавши офіційну сторінку PEAR або російськомовну документацію.

Мета даної статті - не конкуренція мануалу, а можливість дати зрозуміти, що іноді не варто винаходити велосипед, а "варто подивитися під ноги" і побачити, що багато є вже готове, та до того ж офіційно включено в PHP за замовчуванням. А це багато значить.

Схожі статті