Baš naprotiv. PHP NIJE skrndelj jer dozvoljava takve stvari. PHP je dinamički jezik i tako treba i da ostane (i po meni, treba da se razvija u tom pravcu). Dinamički jezici imaju tu prednost da interfejsi i apstraktne klase ne moraju da postoje, da metode mogu da se kreiraju i skidaju u rantajmu, itd.
Nadovezujući se tvoj primer, zamisli sledeći kod (hajde da zamislimo da je u pitanju neki dinamički pseudojezik):
Kôd:
Motorcikl = MotornoVozilo.newSubclass(brojTockova: 4)
mojMotor = Motorcikl.new(marka: 'Yamaha')
Iskoristili smo prednost dinamičkog jezika (kreiranje klase u rantajmu), izbegavši sva kuckanja suvišnih keywordova class, abstract, interface, implements, extends itd. O tome Java može samo da sanja.