Ciao a tutti,
non riesco a comprendere il seguente comportamento di PHP. Nel file "index.php" dichiaro una variabile $page a cui assegno il valore 'home' e includo poi il file "layout.php" che utilizza tale variabile che è visibile:
Se però nel file "index.php", invece di scrivere "require layout.php", dichiaro un oggetto di classe "View" di cui richiamo il metodo "show()" in cui c'è il comando "require layout.php", nel file "layout.php" la variabile $page non è visibile. Perché?
Grazie
non riesco a comprendere il seguente comportamento di PHP. Nel file "index.php" dichiaro una variabile $page a cui assegno il valore 'home' e includo poi il file "layout.php" che utilizza tale variabile che è visibile:
PHP:
// File index.php
$page = 'home';
require 'layout.php';
// File layout.php
require $page . '.php';
Se però nel file "index.php", invece di scrivere "require layout.php", dichiaro un oggetto di classe "View" di cui richiamo il metodo "show()" in cui c'è il comando "require layout.php", nel file "layout.php" la variabile $page non è visibile. Perché?
PHP:
// File index.php
$page = 'home';
$view = new View($page);
$view->show();
// File view.php
class View {
...
public show() {
require 'layout.php';
}
}
// File layout.php
require $page . '.php';
Grazie