It's hard to explain without going into much detail...but it's an idea for framework I've been working on....similar to MFC but web based for PHP.
Sometimes you need the framework to handle object creation to keep your client developers from screwing anything up...
Basically, I have a function, which I need external access to, but it must remain protected, as I don't want anyone ever calling this function but the framework - people shouldn't be able to instantiate the object because it's only real use is with the framework and if they call a function (indirectly or on purpose) it'll throw everything out of wack...
Forcing the ctor() private or protected prevents anyone from instantiating the class directly and keeping certain methods protected prevents them from calling those methods when they aren't supposed too...
The dance of objects must remain synchronized otherwise all hell could break loose
Cheers
