Hallo Zusammen,
ein kleines Problemchen bzw. ein Code Smell, der mich schon länger in meiner ZF-Mutation nervt.
Und zwar: Aus Tabellennamen erstelle ich dynamisch Module und Items, die wiederum mit generischen Controllern und Actions dargestellt werden. Zum Beispiel aus der Tabelle shop_products wird das Modul Shop, dass einen Product-Controller hat, der generalisiert list-, view-, edit-, add-, delete- und eine ganze Reihe mehr Actions enthält. Weder das Modul noch den Controller muss ich physisch erstellen. Man beachte nun, dass der Tabellenname "products" beinhaltet (also Plural) während der Controller (und ach später in der URL-Route) Product heißt. Das halte ich für sinnig, denn im Controller fackel ich (in den allermeisten Fällen) nur Aktionen auf einen Datensatz ab.
Wie dem auch sei. Wir wissen, dass es leider nicht immer reicht ein S an den Singular eines Nomens zu hängen um ein Plural draus zu machen. Bisher hab ich das ignoriert, was dazu führt, dass ich Tabellennamen wie "news_entrys" oder "bladiblubb_childs" habe. Beides falsch. Im ersten Fall kann man noch sagen, dass man halt auf ein y am Ende prüfen könnte. Aber child und children ist unregelmäßig, und das ist nur das, was mir als erstes eingefallen ist. Spontan kommen mir da noch eine ganze Menge mehr in den Sinn, zum Beispiel alles, was sowohl im Plural als auch im Singular gleich ist: Glasses, Trousers, Jeans.
Wie gesagt, das nervt mich an und ich würde das gerne beheben. Leider kommt mir keine Vernünftige und vor allem Robuste Methode in den Sinn, wie man das anstellen könnte. Meine beste Idee (und bisher auch der beste Ansatz den ich dazu im Netz finden konnte) war dieses Stückchen Python: Smart pluralisation (English) ActiveState Code
Aber irgendwie ist das IMHO immer noch nicht das gelbe vom Ei! Also richte ich mich eines der wenigen Male fragend an die Community! Mal sehen was euer Hirnschmalz so hergibt
Cheers,
Cem
ein kleines Problemchen bzw. ein Code Smell, der mich schon länger in meiner ZF-Mutation nervt.
Und zwar: Aus Tabellennamen erstelle ich dynamisch Module und Items, die wiederum mit generischen Controllern und Actions dargestellt werden. Zum Beispiel aus der Tabelle shop_products wird das Modul Shop, dass einen Product-Controller hat, der generalisiert list-, view-, edit-, add-, delete- und eine ganze Reihe mehr Actions enthält. Weder das Modul noch den Controller muss ich physisch erstellen. Man beachte nun, dass der Tabellenname "products" beinhaltet (also Plural) während der Controller (und ach später in der URL-Route) Product heißt. Das halte ich für sinnig, denn im Controller fackel ich (in den allermeisten Fällen) nur Aktionen auf einen Datensatz ab.
Wie dem auch sei. Wir wissen, dass es leider nicht immer reicht ein S an den Singular eines Nomens zu hängen um ein Plural draus zu machen. Bisher hab ich das ignoriert, was dazu führt, dass ich Tabellennamen wie "news_entrys" oder "bladiblubb_childs" habe. Beides falsch. Im ersten Fall kann man noch sagen, dass man halt auf ein y am Ende prüfen könnte. Aber child und children ist unregelmäßig, und das ist nur das, was mir als erstes eingefallen ist. Spontan kommen mir da noch eine ganze Menge mehr in den Sinn, zum Beispiel alles, was sowohl im Plural als auch im Singular gleich ist: Glasses, Trousers, Jeans.
Wie gesagt, das nervt mich an und ich würde das gerne beheben. Leider kommt mir keine Vernünftige und vor allem Robuste Methode in den Sinn, wie man das anstellen könnte. Meine beste Idee (und bisher auch der beste Ansatz den ich dazu im Netz finden konnte) war dieses Stückchen Python: Smart pluralisation (English) ActiveState Code
Aber irgendwie ist das IMHO immer noch nicht das gelbe vom Ei! Also richte ich mich eines der wenigen Male fragend an die Community! Mal sehen was euer Hirnschmalz so hergibt
Cheers,
Cem
Kommentar