Ik begrijp een onderdeel van de variable-scope van PHP niet.
In class.php heb staat hetvolgende
In somefile.php staat
en dat werkt dus niet
en class.php naar
werkt alles wel
1. waarom werkt die eerste code niet. Het probleem moet ergens in de variablescope zitten, maar ik vind niet waar en waarom.
2. ik zou liefst het eerste voorbeeld gebruiken. Wat moet ik doen om $foo zichtbaar te maken in somefile.php (global maken werkt niet)
niet werkende code
Ik heb een index.php in de root staan:PHP:
1
2
3
4
5
| $show = new someclass(); $foo = "bar"; $show->content(); |
In class.php heb staat hetvolgende
PHP:
1
2
3
4
5
| class someclass { function content() { require_once("somefile.php"); } } |
In somefile.php staat
PHP:
1
| echo $foo; |
en dat werkt dus niet
werkende code
als ik index.php aanpas naar:PHP:
1
2
3
4
5
| $show = new someclass(); $foo = "bar"; require_once($show->content()); |
en class.php naar
PHP:
1
2
3
4
5
| class someclass { function content() { return("somefile.php"); } } |
werkt alles wel
vragen
zoals je al kan raden, heb ik twee vragen:1. waarom werkt die eerste code niet. Het probleem moet ergens in de variablescope zitten, maar ik vind niet waar en waarom.
2. ik zou liefst het eerste voorbeeld gebruiken. Wat moet ik doen om $foo zichtbaar te maken in somefile.php (global maken werkt niet)