Bademeister: Eindimensionales Array zu Mehrdimensionalem Objekt konvertieren

Beitrag lesen

Hi.

Wenn ich als URL habe:
http://irgendwas.de/MeinBlog/2010/12/3

Was meinst Du denn mit "eine URL haben"?

Wollte ich die in ein Objekt:
$MeinBlog->2010->12->3 = true;

abstrahieren.

Daran ist irgendwie gar nichts abstrakt. Im Gegenteil: Variable Variablen (lies: Variablennamen, wie hier $MeinBlog [1], die nicht hart kodiert sind, sondern irgendwie von Skript-Input abhängen) sind fast immer schlecht, und geradezu alles andere als eine Abstraktion.

Das true am Ende bedeutet nur das eben genau diese URL jetzt gültig ist, bzw. aufgerufen wird.

Du hast im PHP-Skript eine URL vorliegen. Was meinst Du damit, dass sie aufgerufen wird? Wird sie *vom Skript* aufgerufen, oder ist es die URL, die vom Client aufgerufen wurde und das Skript gestartet hat?

Oder um ein besseres Beispiel anzubringen:

http://www.meinewebseite.de/Galerie/Illustrationen/Anzeigen?category=2&limit=5

Per RewriteRule ist Galerie/Illustrationen/Anzeigen ein ganzer Parameter der im PHP mittels explode in ein Array der Art:

[0] => Galerie

[1] => Illustrationen
[2] => Anzeigen


>   
> aufgesplittet wird.  
>   
> Und das wollte ich eben dann in ein Objekt der Form  
>   
> `$Galerie->Illustrationen->Anzeigen`{:.language-php}  
>   
> konvertieren.  
  
Wozu denn eigentlich das Ganze? Wo im Skript interessiert es Dich, welche URL "gültig" ist? Sprich: Was machst Du mit Deiner Objekt-Eigenschaft `$Galerie->Illustrationen->Anzeigen`{:.language-php}, wie und wozu wertest Du sie aus?  
  
  

> Ich wollte hier mit einem Objekt arbeiten weil ich mal gehört habe das es wohl ein guter Stil sei eben mit Objekten als mit allem anderen zu arbeiten.  
  
Unsinn. Es ist sehr oft empfehlenswert, mit Objekten zu arbeiten, aber nicht um seiner selbst willen.  
  
  

> Eben nach dem Motto: Soviel abstrahieren wie es nur geht.  
  
Das hat a priori nicht viel mit Objekten oder Nicht-Objekten zu tun.  
  
  

> Hast du eventuell einen Tipp wie man das besser lösen / gestalten könnte?  
  
Was denn jetzt eigentlich? :-)  
  
  
  
[1] Der Variablenname ist übrigens Meinblog, nicht $MeinBlog, um ganz genau zu sein.  
  
  
  
Viele Grüße,  
der Bademeister