In this recent post to his blog Chance Garcia looks at visibility and inheritance in PHP applications. Specifically, it references a question that came up on IRC about the "default" visibility for methods and the open/closed principle.
Out of the whole discussion, here is the points I got (aka understood) out of it. Please correct me in the comments if I'm off base in any way.
There's two points he makes in the remainder of the post:
- Methods should only be public when necessary.
- Private methods allow you to preserve the class' core functionality.
There's also a bit of code included to illustrate some of his points.