PHPNews

Remote working

Recently I read Ouarzy's review of Jason Fried and David Heinemeier Hansson's "Remote - Office Not Required". I'd read their previous books, "Getting Real" and "Rework". They're all a joy to read. Short chapters, nice little cartoons. Just a lot of fun, and inspiring too. Not many authors make as much of an effort …

Continue reading »

Written by Matthias Noback - - Aggregated on Tuesday May 1, 2018


Context passing

I'm working on another "multi-tenant" PHP web application project and I noticed an interesting series of events. It felt like a natural progression and by means of a bit of dangerous induction , I'm posing the hypothesis that this is how things are just bound to happen in such projects. In the beginning we start …

Continue reading »

Written by Matthias Noback - - Aggregated on Tuesday April 24, 2018


Combing legacy code string by string

I find it very curious that legacy (PHP) code often has the following characteristics: Classes with the name of a central domain concept have grown too large. Methods in these classes have become very generic. Classes grow too large I think the following happened: The original developers tried to …

Continue reading »

Written by Matthias Noback - - Aggregated on Tuesday April 17, 2018


Exceptions and talking back to the user

Exceptions - for exceptional situations? From the Domain-Driven Design movement we've learned to go somewhat back to the roots of object-oriented design. Designing domain objects is all about offering meaningful behavior and insights through a carefully designed API. We know now that domain objects with setters for …

Continue reading »

Written by Matthias Noback - - Aggregated on Tuesday April 10, 2018


Mocking the network

In this series, we've discussed several topics already. We talked about persistence and time , the filesystem and randomness . The conclusion for all these areas: whenever you want to "mock" these things, you may look for a solution at the level of programming tools used (use database or filesystem abstraction …

Continue reading »

Written by Matthias Noback - - Aggregated on Tuesday April 3, 2018


Lasagna code - too many layers?

I read this tweet: "The object-oriented version of spaghetti code is, of course, 'lasagna code'. Too many layers." - Roberto Waltman — Programming Wisdom (@CodeWisdom) February 24, 2018 Jokes taken as advice It's not the first time I'd heard of this quote. Somehow it annoys me, not just this one joke, …

Continue reading »

Written by Matthias Noback - - Aggregated on Monday February 26, 2018


Local and remote code coverage for Behat

Why code coverage for Behat? PHPUnit has built-in several options for generating code coverage data and reports. Behat doesn't. As Konstantin Kudryashov ( @everzet ) points out in an issue asking for code coverage options in Behat: Code coverage is controversial idea and code coverage for StoryBDD …

Continue reading »

Written by Matthias Noback - - Aggregated on Monday February 12, 2018