dedlfix: Codeigniter API Nginx

Beitrag lesen

Tach!

Wobei ich es sowieso schon bedenklich finde, Namen von Klassen und Methoden über den URI zu schleifen. Besser ists, OOP eben konsequent zu nutzen, sowas gehört in die Konfiguration und zwar als Eigenschaft und nach draußen nicht sichtbar. Ansonsten zöge ja eine Änderung des Klassenname eine Änderung des URL mit sich, brr.

Man ändert einen Klassennamen nicht ohne Grund, wenn sich daraus auch Teile der URL ergeben. Wenn man per Konvention routet (sprich wenn aus der URL per Regel der Controller- und Action-Name gebildet werden), dann benennt man seine Klassen passend, und dass Änderungen sich auf die URL auswirken ist dann auch gewollt. Sowas generell als schlecht abzutun, ohne einen konkreten Anwendungsfall zu betrachten, ergibt keinen Sinn. Zudem haben Router oft die Eigenschaft, neben dem Routen nach Konvention auch nach konfigurierten Einträgen routen zu können. Falls also der Klassename unabhängig von der URL geändert werden soll, setzt man da eine Konfiguration obendrauf und gut ist. Oder man ändert gleich die Strategie auf Routen nach explizit vergebenen Routen-Namen für Controller und Actions.

Es sei denn auch man möchte Hacker dazu einladen, beliebige Methoden aufzurufen.

Üblicherweise gestaltet man ein Framework so, dass die Controller von einer definierten Klasse abstammen und alle aufrufbaren Actions darin public sind. Alles andere wird vom Router nicht vermittelt. Da lässt sich also nicht beliebig im Framework herum Zeug aufrufen.

dedlfix.