I've been writing up a nice AJAX/PHP5 database utility (think phpmyadmin on steroids) and it's starting to actually look like something and I've squashed all the major bugs I've managed to find.
This is my first PHP5 application (decided it's been long enough since apache2 and php5 first hit the streets to upgrade) so I'm hoping I've done things the right way, and not missed any new facilities provided in substitute for old.
So if you have a sound knowledge of PHP5, especially objects and OOP design principles (this entire application roles out from a singleton style class directly from entry point- just to confuse you youngsters) reply here and I'll get in contact with you with more information.
Thanks.
[edit:] Didn't specifically state that I'm looking for people to go through my code not just play with the application.
__________________ Omnis mico antequam dominus Spookster!
lol I've learnt my lesson from that incident my lord. But just to be sure I'm going to go back over the relevant code, don't want you running around spoofing and injecting stuff again.
__________________ Omnis mico antequam dominus Spookster!
Great! I'll PM you within the next few days with a bit more info, just sorting out a few glitches I found and writing an installer. I'm thinking about moving the database abstraction class to mysql 4.1+ specific code, hope this is fine for you? I may just write a separate abstraction class and it can be changed with a factory based on configuration settings...
Any thoughts?
__________________ Omnis mico antequam dominus Spookster!
how well abstracted is the db layer? Would swapping in a replacement class for postgres 'just work' do you think, or would it be a big task? I'd be interested to see how easy that would be (and I'd make such a replacement if it proved to fit in easily...), as a decent postgres admin app is appealing...
how well abstracted is the db layer? Would swapping in a replacement class for postgres 'just work' do you think, or would it be a big task? I'd be interested to see how easy that would be (and I'd make such a replacement if it proved to fit in easily...), as a decent postgres admin app is appealing...
I was just writing about that in the testers documentation just this minute.. Weird timing.
It is abstracted completely, plugging in a new class would "'just work'". At first I wasn't planning to support more than MySQL, but after writing my last post I decided I wouldn't limit the application and, will write several database adapters (MySQL for 4, MySQLi for 4.1+, PostgreSQL (not sure what version minimum yet) and possibly MSSQL (if I get time, I don't care for MSSQL at all)).
[edit:]
Quote:
Originally Posted by GJay
I'd make such a replacement if it proved to fit in easily
Well if you would like to take a peek at the code when I release it to test I'll contact you and you can have a go at implementing it if you would like. A bit of collaboration never hurt anyone.
__________________ Omnis mico antequam dominus Spookster!
Well it's not just a matter of plugging in a new class. You'll have to write a new class based on my pattern.
My pattern is such that there is a database class which handles the connection and produces query objects. Query objects, query the database (obviously) and handle result data sets.
These query objects are passed around and deleted when they go out of scope unless otherwise specified, in which case they're tagged and stored till either the database class is destroyed or they are explicitly destroyed.
[edit:] I'm also thinking of serializing and storing query objects as sort of a timed cache for subsequent access.
__________________ Omnis mico antequam dominus Spookster!
How large is the source base? If you want people to look over the code that's kinda important
How so? It's of no relevance. I doubt anyone who is serious in contributing to a decent project would really care... It's not like I'm giving an hour to do it or anything.
However, as it stands:
The basic API I'll be releasing to run through (in this release) consists of probably a touch over 1500 odd lines of OO PHP. The meat of this application lies in the client side, the PHP is just a interface between the database and the Javascript. This application is designed to be a visually interactive one. Web 2.0 and all that jargon. I am only releasing the development version of the client side in this test though, there are several *top secret* ideas relating to the interactive side that I'm not releasing until they're perfected and licensed appropriately.
Quote:
I could tweak it for the occasion.
Show us the code!
In good time, I have to finish writing up these docs otherwise you'll have no idea where to start and what I'm wanting of you exactly.
__________________ Omnis mico antequam dominus Spookster!
How so? It's of no relevance. I doubt anyone who is serious in contributing to a decent project would really care... It's not like I'm giving an hour to do it or anything.
Nobody, no matter how good a project is, has infinite time to contribute.
Well duh, this is a database administration tool not a genetic sequence analysis program. I'm not even releasing the entire source base just a small piece of it that I want double checked because that is where bottlenecks, if any, will appear...
Even so vbulletin can be read through in a day if you wanted! Honestly, what are you thinking?! Your remarks are completely redundant, they usually are.
Are you on crack or something? Stop trying to be so damn analytic and critical of something when the answer is already so damn obvious.
This is what I do in my free time, I don't have the luxury of being 14 and my parents doing everything for me with absolutely no responsibilities at all weighing me down. Ridiculously redundant posts like that are a waste of my free time.
If you are not fluent in PHP5 and accomplished in OOP design and practices then there is no real reason to be posting in this thread. I don't have the time to baby sit you.
If you have absolutely nothing useful to contribute, don't post in here again please. It's a fair enough request.
__________________ Omnis mico antequam dominus Spookster!