By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,652 Members | 1,842 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,652 IT Pros & Developers. It's quick & easy.

PEAR DB - Useful?

P: n/a
What are people's thoughts on this class? IMHO, it seems like it's
overkill for what most developers need.

I've been using it for awhile now, and I tend to use only about 3% of
it's functionality.

Thoughts? Opinions?
-----------------
One Day PHP/MySQL Workshop
www.carsonworkshops.com

Jul 17 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
ry**@carsonworkshops.com wrote:
What are people's thoughts on this class? IMHO, it seems like it's
overkill for what most developers need.

I started using it then I canned it and returned to the standard PHP. It
became an issue spending time learning a big class or geting my work
done. If the documentation was more user oriented-with more everyday
working examples I could use it maybe. My code was becoming "too
abstracted" too obtuse. Less maintainable w/the DB class.

But maybe it's more my own preference or even limitation that I didn't
use it. I need my code *obvious* above all elese.

I've been using it for awhile now, and I tend to use only about 3% of
it's functionality.

Thoughts? Opinions?
-----------------
One Day PHP/MySQL Workshop
www.carsonworkshops.com

Jul 17 '05 #2

P: n/a
ry**@carsonworkshops.com wrote:
What are people's thoughts on this class? IMHO, it seems like it's
overkill for what most developers need.

I've been using it for awhile now, and I tend to use only about 3% of
it's functionality.

Thoughts? Opinions?


I use it and like it, even if the part I like is only ..% of its
functionality. What I like:

- central error reporting, no "or die()" all over the place

- nice shortcuts for getting single values or arrays in one pass,
without looping (getOne(), getCol(), getAssoc())

- automatic escaping of values with prepared statements:

$query = 'insert into table (field1, field2) values(?,?)';
$pear_db_object->query($query, array($raw_data1, $raw_data2));
JP
--
Sorry, <de*****@cauce.org> is a spam trap.
Real e-mail address unavailable. 5000+ spams per month.
Jul 17 '05 #3

P: n/a
ry**@carsonworkshops.com wrote:
What are people's thoughts on this class? IMHO, it seems like it's
overkill for what most developers need.

I've been using it for awhile now, and I tend to use only about 3% of
it's functionality.

Thoughts? Opinions?
-----------------
One Day PHP/MySQL Workshop
www.carsonworkshops.com


I use it and like it quite well. I also only use probably only a small
amount, but I find it makes things much more manageable and a bit easier
to read/understand. I like the fact that provided I produce complient
SQL, all I have to do is change the connect string and I can use it to
work with more or less any database out there. Personally I only use
mysql, but for projects I make which I distribute, like my IRC bot, I
can say that it can, theoretically, be used with databases other than mysql.

I also like the if (DB::isError($result)) part, as it makes error
checking eaiser. Now I don't have to worry about 'for this sql
statement, what constitues an error' type things. Coupling that with
PHP5's exceptions and stuff, I do things like this:

if (DB::isError($res)){
throw new DatabaseException('Unable to query for ...', $res);
}

then my DatabaseException class can examine the $res varible and provide
debugging information in a log file. Again couple these exceptions with
templates(smarty) and a logError function, I can do things like this:

if (DB::isError($res)){
logWWWError($tpl, new DatabaseException('Unable to query for ...',
$res), __FILE__, __LINE__);
exit;
}

and not only do I get quick error checking, but I get a nice log file
with sql error details and also a generated error page which is shown to
the user with the message from the exception. Makes my applications
look nicer, and run a bit smoother I think.
Jul 17 '05 #4

P: n/a
"ry**@carsonworkshops.com" <go****@carsonsystems.com> wrote in message
news:11**********************@c13g2000cwb.googlegr oups.com...
What are people's thoughts on this class? IMHO, it seems like it's
overkill for what most developers need.


Overkill isn't the right word. I would say it just doesn't work that well in
most situations. Unless your application performs very basic queries, the
class buys you little in terms of cross platform compatibility, as most
advanced queries requires vendor specific SQL syntax. This "then it'll work
with any database!" argument is rather bogus anyway, since few people have
the resources to actually QA the different setups.

Jul 17 '05 #5

P: n/a
ry**@carsonworkshops.com wrote:
What are people's thoughts on this class? IMHO, it seems like it's
overkill for what most developers need.


I hate PEAR. For database abstraction, I use phpBB like setup.

--
<?php echo 'Just another PHP saint'; ?>
Email: rrjanbiah-at-Y!com Blog: http://rajeshanbiah.blogspot.com/

Jul 17 '05 #6

P: n/a
The reason why I asked is because I think the PEAR DB class is a
classic case of OO over-abstraction. We've noticed a significant gain
in run-time efficiency by going procedural, instead of using a class to
connect to the DB. It almost seems backwards, but if it makes the
application 10% faster, then who's to argue?!

----------------------------------------------
One Day PHP/MySQL Workshop
www.carsonworkshops.com

Jul 17 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.