Declarative routines wrap non-object oriented declarative php constructs. This allows them to be approached in an object oriented manner, for compatibility with legacy architecture that does not follow an object oriented paradigm.