![]() Good ORMs are Doctrine, Eloquent, RedBean, and Yii::AR. Note that although PDO is the best out of native db drivers, for a modern web-application consider to use an ORM with a Query Builder, or any other higher level abstraction library, with only occasional fallback to vanilla PDO. reusability (unified API to access multitude of databases, from SQLite to Oracle).usability (many helper functions to automate routine operations).Still incomplete though, but at least usable. Unlike mysql and mysqli, both of which are low level bare APIs not intended to be used directly (but only as a building material for some higher level abstraction layer), PDO is such an abstraction already. PDO abstracts not only a database API, but also basic operations that otherwise have to be repeated hundreds of times in every application, making your code extremely WET. However, it is not it is much, much more. ![]() Thus, for the average LAMP developer, this point is rather insignificant, and to him, PDO is just a more complicated version of familiar mysql(i)_query() function. And, despite some rumors, it is impossible to switch database backends by changing a single line in PDO config - due to different SQL flavors (to do so, one needs to use an averaged query language like DQL). Although this feature is magnificent by itself, it doesn't make a big deal for the particular application, where only one database backend is used anyway. The abstraction, however, is two-fold: one is widely known but less significant, while another is obscure but of most importance.Įveryone knows that PDO offers unified interface to access many different databases. PDO is a Database Access Abstraction Layer. Following the mission of this site, this article will disprove various delusions and bad practices, while showing the right way instead.Īlthough this tutorial is based on mysql driver, the information, in general, is applicable for any driver supported. Unlike those, this tutorial is written by someone who has used PDO for many years, dug through it, and answered thousands questions on Stack Overflow (the sole gold PDO badge bearer). As a result, half of PDO's features remain in obscurity and are almost never used by PHP developers, who, as a result, are constantly trying to reinvent the wheel which already exists in PDO. The only two exceptions are and, but they miss a lot of important information. There are many tutorials on PDO already, but unfortunately, most of them fail to explain the real benefits of PDO, or even promote rather bad practices. ![]() Getting data out of statement in dozens different formats. ![]() Running SELECT INSERT, UPDATE, or DELETE statements. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |