The Binary Classification of Objects

After working on immutable data structures and dependency injection with Auryn I often find myself questioning class constructor style when doing code reviews. Recently I was reviewing a pull request that had this signature in it: public function __construct( RequestInterface $request, DateTime $now, $key, $ttl, $algorithm = 'HS256' ) { ... } A Funny Smell…