Object-oriented PHP provides several advantages over functional programming including easier maintenance and reuse of code through inheritance, polymorphism, and design patterns. Key concepts in OO PHP include classes, objects, inheritance, access modifiers, static methods/attributes, and cloning vs object references. An example photo gallery application is described that utilizes objects like User, Photograph, and Comment along with design patterns like strategy, iterator, and singleton.