functional building blocks for php