This is the follow-up after our conversation last week.
We should have goals to 1) enable a wide array of developers using PHP
to be successful and 2) to keep things as simple as possible.
In the meeting Jamie suggested the Symfony developers and supporting
community around that might be a repres
Before I dig into the meat of my response, something occurred to me
that's contextually significant.
PHP is a flexible language. There are numerous ways to do the same
thing and the language is open enough that those who have differing
opinions on style and patterns can implement projects their wa
We've been talking a bit theoretically here. Let me try to jump in
with two use cases.
1. Someone needs to add functionality to a class but can't add it back
upstream. That could be because they are in a hurry to get their app
out and aren't concerned with contributing it or because the
organizati
Regarding use of the final keyword and limiting extending in general, a few
thoughts below:
- While I found the blog post about final classes to be informative, I'd take
it with a grain of salt. The author bills himself as a consultant who works
with enterprise web applications. Briefly looking
If you don't mind I'd like to step back for a moment and talk about
the end users of this codebase and the types code it will be used in.
We're looking to make application developers successful in PHP. The
top 10% of PHP application developers aren't an issue. If they have an
SDK or not they will
So this is an issue that’s been heavily discussed recently in the PHP community.
Based on personal opinion, I heavily favor and use private properties in
software I write. I haven’t, however, used the “final” keyword that much. But
the more I read about and see it being used, the more inclined I
Some recent reviews have started to include the use of the private
keyword for methods and talk of using final on classes. I don't think
we have consistent agreement on how we should do this.
My take is that we should not use private or final unless we can
articulate the design decision to intenti