A fun talk that was a little different than the norm. Nice work Daniel!
I found this talk particularly interesting since I've recently been involved in a number of open source projects, and it was nice to hear Mark's unique perspective having worked on CakePHP for so long. The title threw me off a little though, I thought the talk was going to be more about working with the framework. Nonetheless, I quite enjoyed it!
I really enjoyed this talk. Elizabeth is an excellent speaker, and she really knows her stuff. As she suggested at the beginning of this talk, the information contained wasn't (shouldn't) be a big surprise to any relatively experience PHP developer. However, I found it was a great motivator to revisit some of these security principles to make SURE they're being done properly. Great job!
Some really great points here for anyone wanting to get into open source. From code to marketing. Good advice for open source projects even outside of PHP. Speaker communicated quite well and held the audiences attention throughout. Slides were slickly designed and helped affirm speakers points without being distracting.
I think you have a great presence when you speak and you speak very well, but I thought the talk was lacking any real meat.
You talked about a lot of things we all already know are important but never gave practical examples of how to apply them or get better at them. For example, telling everyone to follow the SOLID principles, or to write tests, or to try and make code easy to understand. We all already know we should be doing those things. Anyone who's not isn't choosing not to because they disagree, it's because they need help getting better at actually DOING them.
During the closing section about object calisthenics, you mentioned several times that it would be "easier to explain this with a lot of code" and "there's not enough time to show you an example" but a picture is worth a thousand words. You could have explained the concepts a lot more clearly with code examples. I feel like it took much longer to try and explain concepts like the Law of Demeter (one dot per line) through just talking than it would have with examples.
Your definition of instance variables also left a lot of people I talked to confused. An instance variable is any variable assigned to a property in an object, not just injected dependencies. So the rule about "no more than 5 instance variables" only means "no more than 5 dependencies" if you have no other instance variables.
The rule about not using getters and setters was not related to using properties instead. It was about following the "Tell, don't ask" principle, and focusing on treating objects as things with behavior instead of dumb data structures, so it still applies in PHP. It is about saying `$car->drive(10)` instead of `$car->setPosition($oldPosition + 10)`.
Again, you are a very charismatic speaker and kept everyone engaged, so hopefully you can use this feedback to capitalize on that talent and give people more concrete things to apply to their work.
Turn down for what?
Excellent refresher on refactoring for me. Easily digestible and a good reminder to focus on clarity in your refactor and performance later.