Klasse überarbeiten
Klasse überarbeiten
Hier gibt es eine Klasse, die überarbeitet werden sollte: https://api.contenido.org/con4911/sourc ... ml#288-370
Und zwar besonders Zeile 353, 354 und 357 sollten gelöscht oder besser nur als Option geschaltet werden.
Die Idee, da jeweils ein Objekt aufzurufen (das selbst auch noch jeden Scheiß aufruft) und vor den Kategorie-IDs zu packen ist ein Unding.
Wer macht denn in PHP sowas?
Ein mancher möchte einfach nur die IDs der Subcats und nicht den kompletten Datenbestand einer Contenido Instanz.
Und zwar besonders Zeile 353, 354 und 357 sollten gelöscht oder besser nur als Option geschaltet werden.
Die Idee, da jeweils ein Objekt aufzurufen (das selbst auch noch jeden Scheiß aufruft) und vor den Kategorie-IDs zu packen ist ein Unding.
Wer macht denn in PHP sowas?
Ein mancher möchte einfach nur die IDs der Subcats und nicht den kompletten Datenbestand einer Contenido Instanz.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Klasse überarbeiten
Vielen Dank für Deine Anregung. Ich mache dazu mal ein Ticket auf für die kommende Version (4.9.14), das zu überarbeiten. Ich kann spontan nicht überprüfen, ob eine Optionalisierung oder sogar Rauslöschung Seiteneffekte hat.
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Klasse überarbeiten
Durchaus könnte es Seiteneffekte haben, weil vermutlich die Standardmodule auf diese Objekte zurückgreifen.frederic.schneider_4fb hat geschrieben: ↑Do 8. Jun 2017, 10:25Ich kann spontan nicht überprüfen, ob eine Optionalisierung oder sogar Rauslöschung Seiteneffekte hat.
Folglich bliebe nur eine Option, mit der man die Objekte dort ausschalten kann, aber standardmäßig drinnen sind.
Sonst würde sicher einiges in Contenido nicht mehr funktionieren.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Klasse überarbeiten
Genauso sehe ich das auch. Deshalb schauen wir es uns in Ruhe an. Ich wollte mit dem Hinweis nur ausdrücken, dass das nichts ist, was ich gerade beiläufig mal umsetzen und einchecken kann
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Klasse überarbeiten
Das weiß ich ja
Aber anstupsen muss man es mal irgendwann und hiermit habe ich es getan
Aber anstupsen muss man es mal irgendwann und hiermit habe ich es getan
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 4256
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Klasse überarbeiten
Servus,
Gruß aus Franken
Ortwin
Gibt es eigentlich beim Schubsen auch ein Copyright?
Die Idee diese "Idee" zu überarbeiten ist wirklich gut!
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Klasse überarbeiten
erinnert mich irgendwie an Passierschein A38 bei Asterisk und Obelix (https://youtu.be/lIiUR2gV0xk?t=1m10s)Die Idee diese "Idee" zu überarbeiten
Could I help you... you can help me... buy me a coffee ☕. (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Re: Klasse überarbeiten
Das Ändern der Funktion getSubCategories() in der Klasse cCategoryHelper ist keine gute Idee, zumindest nicht in CONTENIDO 4.9.*.
Die cCategoryHelper->getSubCategories() ist Teil der öffentlichen API von CONTENIDO, d. h. mann muss damit rechnen, dass CONTENIDO-Installationen, die Navigationsmodule verwenden, den Code so programmiert haben, dass sie in $category['item'] eine cApiCategoryLanguage Instanz erwarten. Ändert man dies, werden die CONTENIDO-Installationen Reihenweise Exeptions werfen.
Es wäre aber eine Überlegung wert, dies im nächsten Major-Release von CONTENIDO zu optimieren. Dann kann man auch Änderungen kommunizieren, die nicht abwärtskompatibel sind.
Oder man implementiert in CONTENIDO 4.9.* z. B. eine Funktion getSubCategoriesLight(), die dann eine Struktur ohne item-Objekte liefert, und jeder, der es mag, kann dann die neue Funktion ohne Objekte verwenden.
Gruß
xmurrix
Die cCategoryHelper->getSubCategories() ist Teil der öffentlichen API von CONTENIDO, d. h. mann muss damit rechnen, dass CONTENIDO-Installationen, die Navigationsmodule verwenden, den Code so programmiert haben, dass sie in $category['item'] eine cApiCategoryLanguage Instanz erwarten. Ändert man dies, werden die CONTENIDO-Installationen Reihenweise Exeptions werfen.
Es wäre aber eine Überlegung wert, dies im nächsten Major-Release von CONTENIDO zu optimieren. Dann kann man auch Änderungen kommunizieren, die nicht abwärtskompatibel sind.
Oder man implementiert in CONTENIDO 4.9.* z. B. eine Funktion getSubCategoriesLight(), die dann eine Struktur ohne item-Objekte liefert, und jeder, der es mag, kann dann die neue Funktion ohne Objekte verwenden.
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
-
- Beiträge: 4256
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Klasse überarbeiten
Servus,
xmurrix hat recht, auch wenn viele Entwickler diese Funktion nicht gerne nutzen, kann es sein, dass sie als API-Funktion bereits mehrfach genutzt wird und man durch unüberlegte Änderungen viele Installationen da draußen beim nächsten Release abschießt.
Trotzdem macht eine Art Light-Funktion noch weniger Sinn, denn diese würde die Namenskonventionen ad absurdum führen. Konsistenter wäre ein zusätzlicher Parameter mit einem Default-Wert, ein Boolean, der, je nach Wert, das zurückzuliefernde Array mit oder ohne Objekte erstellt.
Gruß aus Franken
Ortwin
xmurrix hat recht, auch wenn viele Entwickler diese Funktion nicht gerne nutzen, kann es sein, dass sie als API-Funktion bereits mehrfach genutzt wird und man durch unüberlegte Änderungen viele Installationen da draußen beim nächsten Release abschießt.
Trotzdem macht eine Art Light-Funktion noch weniger Sinn, denn diese würde die Namenskonventionen ad absurdum führen. Konsistenter wäre ein zusätzlicher Parameter mit einem Default-Wert, ein Boolean, der, je nach Wert, das zurückzuliefernde Array mit oder ohne Objekte erstellt.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Klasse überarbeiten
Faar hat geschrieben: ↑Do 8. Jun 2017, 10:31Durchaus könnte es Seiteneffekte haben, weil vermutlich die Standardmodule auf diese Objekte zurückgreifen.
Folglich bliebe nur eine Option, mit der man die Objekte dort ausschalten kann, aber standardmäßig drinnen sind.
Sonst würde sicher einiges in Contenido nicht mehr funktionieren.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Klasse überarbeiten
Es gibt das Programmierparadigma, die besagt, dass Funktionen immer den selben Typ zurückliefern sollten. Dadurch wird der weitere Umgang mit den Rückgabewerten der Funktion vereinfacht, die Komplexität wird reduziert.
Eine Erweiterung der vorhandenen Funktion getSubCategories() um einen Parameter würde zwar immer noch ein Array liefern, aber streng genommen wird dann der Inhalt von $category['item'] ein anderer Typ sein, also die Struktur des Rückgabe-Arrays wird eine andere sein. Man sollte auch diesen Aspekt berücksichtigen.
Grüße
xmurrix
Eine Erweiterung der vorhandenen Funktion getSubCategories() um einen Parameter würde zwar immer noch ein Array liefern, aber streng genommen wird dann der Inhalt von $category['item'] ein anderer Typ sein, also die Struktur des Rückgabe-Arrays wird eine andere sein. Man sollte auch diesen Aspekt berücksichtigen.
Grüße
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.