I was introduced to Clojure not long ago, and while I haven't fully assimilated all of it's concepts, It has given me an alternative to Java and PHP's OO that I really want to move towards. I consider Clojure's systems to be my ideal. I know that I want to let it inform my PHP coding style as much as I can.
I really don't like OO in PHP, I hate the amount of boilerplate and the hidden complexity that it often seems to lead to. At the same time, I can see benefits to encapsulation where you have multiple bits of data that carry the ability to modify themselves around. Maybe using 1st order functions is the main way to allow for that encapsulation, but beyond that how can the benefits of Object Orientation be translated into Functional Programming?
One part of the problem that I'm having now is how to deal with a collection of related functions that might otherwise be grouped in a class, in a sane way that keeps them useful to each-other.