Meine Views sind folgend aufgebaut:
class View{ ...
Soweit ich Views aus MVC-Frameworks kenne, handelt es sich um Template-Dateien, die hauptsächlich aus HTML bestehen (oder XML oder was auch immer gewünscht ist). Klar, wenn du HTML *und* CSS an einer Stelle unterbringen willst, dann brauchst du eine Metasprache (hier PHP), die beides trennt.
Was haltet ihr davon?
Ehrlich gesagt gar nichts. Stylesheets sollte man abstrahieren und auslagern. Für die einzelne View sollte dann, wenn einem das gelungen ist, nur wenig individuelles Styling nötig sein. So wenig, dass du (letztlich) alles in einer Datei zusammenfassen kannst. Die kannst du vorkomprimieren, indem du überflüssige Kommentare und Whitespace entfernst (YUI Compressor), sie GZip-komprimiert ausliefern lässt und Expires-Header senden, sodass der Browser beim Laden einer weiteren Seite nicht erneut das Stylesheet abfragt (nicht einmal mit einem Conditional-GET). Damit hat der Browser mit einem Stylesheet fast alle Styles für deine Site - bei sehr kleiner Übertragungsmenge.
Wenn du allerdings View für View eine eigene CSS-Datei laden lässt (oder ein style-Element im head einbindest), so geht das weder schneller noch sparst du unter dem Strich Ladezeit, übertragene Datenmenge und Serverlast ein. Es sei denn, dein Projekt ist soooo riesig, dass sich modulare Stylesheets anbieten. Aber dann wäre »View für View« kein passendes Konzept, um zusammengehörige Stylesheets zu gruppieren. Die Styles für die Controller/Actions, die nur selten genutzt werden, kannst du hinzu laden, aber unter dem Strich macht es mehr Sinn, die zusammengehörigen Styles in einer ausgelagerten Datei zusammenzufassen.
Ich kann verstehen, dass du die Styles möglichst nah am zugehörigen HTML-Code haben willst. Das ist sicher zu einem gewissen Teil Geschmackssache, allerdings sehe ich auch kein Problem darin, verschiedene Stylesheet-Dateien nach Controllern anzulegen und sie mit CSSDOC nach Actions aufzuteilen. So weiß man immer, wo die zugehörigen Styles liegen, und das Zusammenfassen dieser Stylesheets ist beim Deployment einfach automatisierbar.
Mathias