

Podmínky v PHP
Ahoj.
Chtěl bych poradit s kódém v PHP-čku. Nevím jak napsat podmínku.
// přiklady URL
$url = 'knihovna';
$url = 'knihovna/cesko';
$url = 'knihovna/cesko/klasika';
$url = 'knihovna/slovensko';
$url = 'knihovna/slovensko/klasika';
// akce na URL
if ( $url === 'knihovna' ) new knihovna ();
elseif ( $url === 'knihovna/cesko' ) new knihovna\cesko ();
elseif ( $url === 'knihovna/slovensko' ) new knihovna\slovensko ();
elseif ( $url === 'knihovna/cesko/klasika' ) new knihovna\cesko\klasika ();
elseif ( $url === 'knihovna/slovensko/klasika' ) new knihovna\slovensko\klasika ();
Jenže já bych potřeboval vytvořit daný objekt (vždy pouze jeden) i když za těmi adresami něco ještě bude.
// příklad
$url = 'knihovna/cokoliv-ale-ne-cesko-a-slovenso'; new knihovna ();
$url = 'knihovna/cesko/cokoliv-ale-ne-klasika' new knihovna\cesko ();
$url = 'knihovna/cesko/klasika/cokoliv'; new knihovna\cesko\klasika ();
$url = 'knihovna/slovensko/cokoliv-ale-ne-klasika'; new knihovna\slovensko ();
$url = 'knihovna/slovensko/klasika/cokoliv'; new knihovna\slovensko\klasika ();
Napadlo mě to celý otočit abych opravdu vytvářel pouze jeden objekt a nevytvářel objektů víc ale stejně nevím jak ty podmínky napsat.
// něco jako
if ( $url === 'knihovna/cesko/klasika' ) new knihovna\cesko\klasika ();
elseif ( $url === 'knihovna/slovensko/klasika' ) new knihovna\slovensko\klasika ();
elseif ( $url === 'knihovna/slovensko' ) new knihovna\slovensko ();
elseif ( $url === 'knihovna/cesko' ) new knihovna\cesko ();
elseif ( $url === 'knihovna' ) new knihovna ();
Možná by to šlo uložit do pole ale zase to končí na podmínce. Můžete mi prosím poradit někdo zkušený? Děkuji
Třídy bych vytvořil takhle
přičemž poslední dva řádky lze upravit do __construct($pole).
Url bych rozskouskoval a podle počtu a hodnot se rozhodnul, kterou třídu zavolám.
Takto to mám celý postavený a právě řeším logiku, jak to volat...
Buď to môžeš spraviť tak, že budeš kontrolovať všetky možnosti:
Alebo budeš zisťovať, či požadovaná trieda existuje:
Mrknu na tu druhou možnost, pro mě lepší.. zatím díky..