[PHP] Scopo di una variabile

  • Creatore Discussione Creatore Discussione anvalon
  • Data di inizio Data di inizio

anvalon

Nuovo Utente
4 Nov 2018
6
0
1
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:

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
 
dal manuale indicato,

Here the $a variable will be available within the included b.inc script. However, within user-defined functions a local function scope is introduced. Any variable used inside a function is by default limited to the local function scope.

metodo é di fatto una funzione e come tale si comporta
 

Discussioni simili