This shows you the differences between two versions of the page.
|
rfc:simplestorage [2009/07/28 02:59] crodas |
rfc:simplestorage [2009/07/28 03:47] (current) crodas english improvements |
||
|---|---|---|---|
| Line 5: | Line 5: | ||
| - Easy iteration and data update inspired by ActiveRecords | - Easy iteration and data update inspired by ActiveRecords | ||
| - Built on top of PDO | - Built on top of PDO | ||
| - | - Implicit database connection, connecting only when is necessary | + | - Implicit database connection, connecting only when it's necessary |
| - Native query cache support. | - Native query cache support. | ||
| - Support single-level transactions (limited by PDO) | - Support single-level transactions (limited by PDO) | ||
| Line 11: | Line 11: | ||
| - | Right now, it helps developer with some very basic standard SQL (insert, update, delete and a very limited select) and it is really simple to extend just with "raw" SQL. Another pretty cool feature is that it supports cache natively. Just visit the [[http://github.com/crodas/Simple-ORM/tree/master/samples|examples dir]] (I'll add more samples asap) | + | Right now, it helps developer with some very basic standard SQL (insert, update, delete and a very limited select) and it is really simple to extend just with "raw" SQL. Another pretty cool feature is that it supports cache natively. Just visit the [[http://github.com/crodas/Simple-ORM/tree/master/samples|examples dir]] (I'll add more samples ASAP). |
| - | Its main disadvantage is that it is not an ORM properly, you still need to know SQL in order to make it usable for real life situations, I did it in that way, because compose perform normal tasks (query based on objects, relationships or anything else that a proper ORM offers) at run-time is not efficient, it requires a lot of RAM, and is not that scalable. ''As much easier for the developer, harder for the server'' (me, right now) | + | Its main disadvantage is that it is not an ORM properly, you still need to know SQL in order to make it usable for real life situations, I did it in that way because perform normal tasks (query based on objects, relationships or anything else that a proper ORM offers) at run-time is not efficient, it requires a lot of RAM, and is not that scalable. ''As much easier for the developer, harder for the server'' (me, right now) |
| - | In order to fix that (for me it's okay, right I'm composing by hand all my SQL) I'm creating a project called Simple-Storage that will generate code, using Simple-ORM as base-code, to manipulate data. Additionally it would generate tables schemes, indexes (when it's necessary), validations, relations, data-migration and several others features (when I would need something else I'll add). Simple-storage would be a compiler (finally something useful where I can apply my knowledge from University) that will generate PHP (or any other if someone wants to extend it) code to manipulate the tables. Because it wouldn't perform any sort of checking/validation/generate-SQL/etc at run time and it has cache, it will be very scalable, and useful (IMHO). | + | In order to fix that (for me it's okay, right I'm composing by hand all my SQL) I'm creating a project called Simple-Storage that will generate code, using Simple-ORM as base-code, to manipulate data. Additionally it would generate tables schemes, indexes (when it's necessary), validations, relations, data-migration and several other features (when I would need something else I'll add). Simple-storage would be a compiler (finally something useful where I can apply my knowledge from University) that will generate PHP (or any other if someone wants to extend it) code to manipulate the tables. By the fact that it wouldn't perform any sort of checking/validation/generate-SQL/etc at run time and it has cache, it will be very scalable, and useful (IMHO). |
| Right now I'm sharing (expecting a feedback) about its possible syntax (I'd to have something clear, easy to learn/read and useful): | Right now I'm sharing (expecting a feedback) about its possible syntax (I'd to have something clear, easy to learn/read and useful): | ||