Holger Librenz hat ein netter Artikelzum Thema geschrieben. Den Ansatz, eine eigene Action-Klasse vom Zend_Controller_Action abzuleiten kann ich nur unterstützen. Aber ich halte nichts von der Idee, das Model per Reflection zu ermitteln und instanziieren – Refelection ist nicht performant und demnach für eine Produktionsumgebung nicht geeignet. Die Prüfung, ob die Klasse existiert ist m.E. auch überflüssig und kostet unnötig Performance – wer eine Anwendung baut hat dafür zu sorgen, dass die Klassen vorhanden sind. Ich finde, es gibt nur wenige Fälle, wo eine solche Prüfung stattfinden muss (z.B. in verteilten Systemen).
Im Übrigen vertrete ich auch der Meinung, dass Objekte nicht instanziiert werden müssen – Modelle mit statischen Methoden sind nach Möglichkeit zu bevorzugen – aber das ist ein anderes Thema.