Layer-by-layer self-assembly of porphyrin heterogeneous metal-organic thin films on titanium oxide for photocurrent generation