Какво е ezSQL и как да го ползваме

Какво е ezSQL?

ezSQL е Open Source PHP клас за връзка с бази данни. Негов автор е Justin Vincent. Този клас поддържа следните бази данни: МySQL, Oracle8, SQLite (PHP).

Защо да ползваме ezSQL?
1. С него се пести време при писането на PHP код.
2. Поддържа кеширане на SELECT заявките.
3. Напълно безплатен, с възможност да се ползва абсолютно във всички възможни проекти.
4. Има възможност за debug .
5. Класа ezSQL поддържа Smarty.
6. Много малък и простичък клас които е напълно функционален и лесен за редактиране при необходимост 🙂
7. Използването на DB абстрактен слой позволява лесното мигриране от една DB към  друга. Пример: Необходимо е мигриране от Oracle към MySQL. В този случай единственото необходимо нещо да се направи е include на подходящия допълнителен клас към ezSQL.
8. За мен WordPress е сериозен пример за добър проект писан от добри PHP разработчици и именно това дава една положителна точка на ezSQL , понеже DB класа на WordPress "wpdb" е базиран на ezSQL.
9. Чрез ezSQL се пести доста код.

За да не изпадам в излишна теория и обща информация ще започна с примерите(в този случай примерите са най- добрата документация):

Първо трябва да се изтегли ezSQL класа от официалния сайт на Justin Vincent-> Сайт на ezSQL

След като се изтегли е необходимо в нашия пример да се включи( (include) ядрото на ezSQL (ez_sql_core.php) и след това базата с която ще се работи(в случая е MySQL: (ez_sql_mysql.php) ):

include_once "../shared/ez_sql_core.php";
include_once "ez_sql_mysql.php";
$db = new ezSQL_mysql('db_user','db_password','db_name','db_host');

Сега вече можем да правим примера.

1. Простa INSERT/UPDATE заявка:

$db->query("INSERT INTO users (id, name, email) VALUES (NULL,'Ribok','root@boogle.com')");

или

$db->query("UPDATE users SET name = 'Ribok' WHERE id = 4");

2. SELECT заявка за извеждане на един ред:

$user = $db->get_row("SELECT name, email FROM users WHERE id = 4");

echo $user->name;
echo $user->email;

3. Бързо асоцииране на променлива с резултат от просто select с един ред:

$var = $db->get_var("SELECT count(*) FROM users");

echo $var;

4. SELECT заявка и извеждане на многобройни редове:

$results = $db->get_results("SELECT name, email FROM users");

foreach ( $results as $user )
{
echo $user->name;
echo $user->email;
}

5. Select заявка за конкретна колона:

foreach ( $db->get_col("SELECT name,email FROM users",0) as $name )
{
echo $name;
}

6. Изследване на заявките, чрез DEBUG(Активира се по- следния начин):

$db->debug();

7. Активиране на кеширането на заявки:

$db->cache_timeout = 24;
$db->cache_dir = '/tmp/ezsql_cache';
$db->use_disk_cache = true;
$db->cache_queries = true;

Времето се измерва в часове, но ако желаете да бъде в секунди е необходимо да се направи малка корекция.
Във файл "ez_sql_core.php" ,  ред "317" се заменя:

if ( (time() -- filemtime($cache_file)) > ($this->cache_timeout*3600) )

със:

if ( (time() -- filemtime($cache_file)) > ($this->cache_timeout) )

PS0: Ако някои има някакви допълнения или коментари може да ги сподели.

PS1: В никакъв случай не твърдя, че това е най- страхотния клас, защото има и други добри като AdoDB които е с доста дълга история. Идеята на това ръководство е да бъде в полза на някои търсещ или ползващ такъв клас :).

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Какво е ezSQL и как да го ползваме, 5.0 out of 5 based on 1 rating

Вашият коментар

Вашият email адрес няма да бъде публикуван Задължителните полета са отбелязани с *