Hallo iedereen,

Ik wil met een array en foreach de keywords in de array gebruiken om de des betreffende classes aan te roepen.
Hier een voorbeeld :

<?php
$class = array('Database', 'Template');

foreach ( $class[] as $key){

$key = new $key();
}
?>

Als ik dit gebruik krijg ik een 500 error.
Moet gewoon werken, zet even error handling on en kijk wat er fout is
Wouter J op 12/07/2013 20:39:01

Moet gewoon werken, zet even error handling on en kijk wat er fout is


Heej Wouter,

Ik krijg gewoon een server fout wat vreemd is.
Heb error reporting sowieso aan staan maar hij doet niks.
Als ik die code uitcomment dan gaat de server error ook weg.
Wouter J op 12/07/2013 20:39:01

Moet gewoon werken, zet even error handling on en kijk wat er fout is

Nou nee... de foreach klopt niet. Moet zo:

foreach ($class as $key){



Toevoeging op 12/07/2013 20:55:03:

Overigens overschrijft $key zichzelf, dus wat je doet heeft niet zo veel nut.
Gadver. Ik wist wel dat PHP los is maar niet zo los!
Ozzie PHP op 12/07/2013 20:54:03

[quote="Wouter J op 12/07/2013 20:39:01"]
Moet gewoon werken, zet even error handling on en kijk wat er fout is

Nou nee... de foreach klopt niet. Moet zo:

foreach ($class as $key){



Toevoeging op 12/07/2013 20:55:03:

Overigens overschrijft $key zichzelf, dus wat je doet heeft niet zo veel nut.
[/quote]

Bah wat vervelend,

Ik dacht dat het wel zou werken.
Ach ja weer wat geleerd, dan maar andere manier zoeken.
Wouter Van Marrum op 12/07/2013 21:11:18

Bah wat vervelend,

Ik dacht dat het wel zou werken.
Ach ja weer wat geleerd, dan maar andere manier zoeken.

Hmmm, vooruit dan...

<?php

class Foo {

public function test() {
return 'Ik ben class Foo';
}

}

class Bar {

public function test() {
return ' en ik ben class Bar.';
}

}

$classes = array('Foo', 'Bar');

foreach ($classes as $class){
${strtolower($class)} = new $class;
}

echo $foo->test();
echo $bar->test();

?>
Geeft als resultaat:

"Ik ben class Foo en ik ben class Bar."

Succes ermee.
Wat je doet:

<?
$key = new 'dewaardevandekey'();
?>

Het verbaast me dat het al zou kunnen.
Jaja Ger, de wonderen zijn de wereld nog niet uit ;)
Dat weet ik, alleen hebben die wonderen niks meer te maken met OOP
Bedankt Ozzie !

Zonet deel gekopieerd en toen deed ie het niet haha,
Daarna alles gekopieerd en nu wel ( zal wel ergens typ fout hebben gezeten of zo.)

Reageren