PHP: Use associative arrays basically never

Submitted by Larry on 30 June 2018 - 4:59pm

The other day I was working on some sample code to test out an idea that involved an object with an internal nested array. This is a pretty common pattern in PHP: You have some simple one-off internal data structure so you make an informal struct using PHP associative arrays. Maybe you document it in a docblock, or maybe you're a lazy jerk and you don't. (Fight me!) But really, who bothers with defining a class for something that simple?

But that got me wondering, is that common pattern really, you know, good? Are objects actually more expensive or harder to work with than arrays? Or, more to the point, is that true today on PHP 7 given all the optimizations that have happened over the years compared with the bad old days of PHP 4?

So like any good scientist I decided to test it: What I found will shock you!

Continue reading this post on Steemit

Quick and easy PHP code generation testing

Submitted by Larry on 22 June 2018 - 9:40pm

Recently I was working on some PHP code (for the PHP-FIG) that involved code generation. Lots of systems these days are doing code generation (compiled dependency injection containers, ORM classes, etc.), but surprisingly I've avoided having to touch that code myself until now.

Of course, like any good developer I was writing tests for it as I went. That meant needing to test that the generated code was valid PHP syntax and did what I wanted it to do.

(Continue reading this post on Steemit.)

The 3 paragraph pitch

Submitted by Larry on 20 October 2017 - 6:21pm

Earlier this week a fellow PHP public figure tweeted saying that I write great session proposals for conferences. After I finished blushing I reached out to him and we talked a bit about what it was he likes about them. (Whatever I'm doing right, I want to know to keep doing it!)

Based on that, I figured it would be educational to dissect how I go about writing session proposals for conferences and hope that conference organizers don't catch on to my tricks. :-)

Best practices are contextual

Submitted by Larry on 23 August 2017 - 6:51pm

Articles, blog posts, and Twitter debates around "best practices" abound. You can't swing a dead cat without bumping into some article espousing the benefits of designing and building software a certain way. (Side note: What kind of sick person are you that you're swinging a dead cat around? Stop that! You're desecrating the dead!)

Don't go low

Submitted by Larry on 16 April 2017 - 2:09pm

This is a very uncomfortable time for Drupal. It seems there has been a great deal of concern and discomfort lurking just below the surface for a while, and recent events surrounding me have brought them all to the forefront at once. It's going to take some time to unravel it all. Hopefully it can be a learning process for many.

For the moment, though, there's one particular point I want to address, and particular people I want to address it to: Don't be an asshole, not even in my defense.

Regarding the continued mystery

Submitted by Larry on 5 April 2017 - 10:34am

Since my last post Dries and Megan have issued a new joint statement on the ongoing mystery regarding my removal from DrupalCon and the gossip campaign against me. To date, I have focused my public posts mainly on my experiences, my beliefs, and the prejudice with which I have been treated by select members of the Drupal community and by select (if powerful) members of Drupal's leadership. However, I feel the latest joint post from Dries and Megan last Friday deserves a more direct response.

Response to conversations about me

Submitted by Larry on 27 March 2017 - 12:26pm

It's been an eventful couple of days, that's for sure... Eventful enough that I feel it's necessary to clarify a few points.

First off, I want to express my sincere thanks to everyone that has reached out, in public or in private, to express their support in this situation. I genuinely appreciate it, even if I haven't had a chance to respond to everyone directly. Thank you all.