[PHP] van een array naar een variable

Gestart doorFreestyle4 reacties34 weergaven

5 berichten · pagina 1 van 1

Freestyle

Lid · Topicstarter

Berichten
7.681
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Beste,

Ik ben bezig met mijn eigen Framework. En ik ben bezig om mijn Loader the verbeteren.
En ik wil dus de optie om sommige classes automatisch te laden.

dus om een Library automatisch te laden heb ik het volgende stukje code:
Spoiler tonen
[COLOR= #0000BB]<?php[/COLOR] 
[COLOR= #FF8000]# if autoload Library[/COLOR]
        [URL="http://www.php.net/if"]if[/URL][COLOR= #007700](![/COLOR][URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]Library[COLOR= #007700])) {[/COLOR]
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]Library [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$filename[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$folder[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"/library/"[/COLOR][COLOR= #007700];[/COLOR]    
                [COLOR= #0000BB]$file[/COLOR] [COLOR= #007700]=[/COLOR] SERVER_ROOT [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$folder[/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/strtolower"]strtolower[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$filename[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000].php[/COLOR][COLOR= #007700];[/COLOR]
                
                [COLOR= #FF8000]# get file[/COLOR]
                [URL="http://www.php.net/include_once"]include_once[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700]);
                
            }
        }[/COLOR]
Nu kan je met de [functie]extract()[/functie]
Van een string een variable maken.

dus:
extract($filename);


En nu wel ik daar mee de class maken dus dat ik krijg:

$filename = new $filename."_Library";


Maar hoe kan ik dan ipv van filename de goede variable krijgen?
Ik kan helaas niks vinden, dus hopelijk weet een van jullie het.

Met vriendelijke groeten,

Marijn
0
Berichten
3.112
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Misschien
${$filename} = new $filename."_Library";
0
Freestyle

Lid · Topicstarter

Berichten
7.681
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bedankt maar hij doet het nog niet. Dus ik ben even gaan testen, en extract moet een array zijn.

dus nu probeer ik er eerst weer array van te maken. En dan extract. En dan jouw manier er bij. Maar dat wilt niet echt lukken.

[COLOR= #0000BB]<?php
$Library[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"test"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]" hey  alles goed?"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"hallo"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]" ja zeker man!"[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/extract"]extract[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Library[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$test[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Library[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$key[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$filename[/COLOR][COLOR= #007700]) {[/COLOR]
    [COLOR= #0000BB]$array[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$key[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$filename[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/var_dump"]var_dump[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$array[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/extract"]extract[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$array[/COLOR][COLOR= #007700]);[/COLOR]
    
    [URL="http://www.php.net/echo"]echo[/URL] $[COLOR= #007700]{[/COLOR][COLOR= #0000BB]$array[/COLOR][COLOR= #007700]};
                
}[/COLOR]


Als ik naar de code van CodeIgniter ga kijken, kom ik er ook niet uit.
En op google kan ik ook niet echt iets vinden.
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Uhm misschien niet mooiste oplossing maar zo:

foreach($array as $key => $value) { $$key = $value; }
0
Freestyle

Lid · Topicstarter

Berichten
7.681
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bedankt smile Dat werkt!

als iemand een mooiere/betere oplossing heeft hoor ik dat graag smile
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren