Hi
Dne Sat, 13 Mar 2010 13:18:28 +0100 Edouard SWIAC edouard.swiac@gmail.com napsal(a):
Thanks for your observations Marc.
About PDO, the last time I had a look at it, there were no practical reasons to support it.
I think there is at least one major reason to support it (PHP version independently). Since PMA accepts two data access interface ,mysql_* and mysqli_*, using PDO would avoid maintaining these 2 interfaces in adapters functions (such as PMA_DBI_fetch_row ...). Moreover, mysql_* and mysqli_* API are so nearly identical, that almost the same code is written twice. As you know PDO handles these two drivers natively, lowering the burden of code to write and maintain.
Well the thing is that both mysql/mysqli drivers in phpMyAdmin share fair amount of code, so it's not that much of code to maintain (not that it requires much maintenance at all). Moving to PDO is about new code to write and test and introduces another dependency (I have no idea how common is to have pdo enabled on hostings). We might end up having PDO in addition to current interfaces and I really don't see benefit of this situation.
Coming back to architecture, templating (currently is active discussion) is a good way to go towards MVC. What do you think about it ? From what I see in PMA source code, some parts are developed with classes (Confirm, Error, File ...), so the project may consists in pursuing this objective, in order to smoothly convert the procedural code base into an oriented one.
Well be it objects or not, I rather think the code needs to be split to smaller functional blocks. Having several hundredths lines in single function makes it hard to review and even harder to properly test.