Errore apici e virgolette....

  • Creatore Discussione Creatore Discussione pollat
  • Data di inizio Data di inizio

pollat

Utente Attivo
10 Ott 2013
63
0
6
Ho uno script php che mi da un errore di apici ma non riesco a capire il motivo, lo script è il seguente:

PHP:
class Elenco {
private static $root   = "cartellabase/$numerocartella/";
...


L'errore mi dice che non sono accettae le virgolette e vuole solo l'apice singolo
ma se mettessi l'apice singolo non verrebbe interpretata la variabile.

"Parse error: syntax error, unexpected '"' in /homepages/38/d517385344/htdocs/macroweb/elenco/utenti/index12.php on line 53"

Se al posto della variabile metto
il nome della cartella vero e propri, funziona correttamente e interpreta lòo script correttamente


Ho provato anche modificando lo script in:

PHP:
class Elenco {
private static $root   = 'cartellabase' . $numerocartella . '/';
...

ma così da un errore quando ariva al punto ossia.

"Parse error: syntax error, unexpected '.', expecting ',' or ';' in /homepages/38/d517385344/htdocs/macroweb/elenco/utenti/index12.php on line 53"

Qualcuno sa spiegarmi il motivo per cui non interpreta correttamente lo script nei due modi segnalati????
 
Ciao, non ho mai visto dichiarare una proprietà in questo modo, non credo si possa fare .
prova a dare un occhiata qui o a cercare qualcosa di più specifico
Comunque non riesco a capire dove valorizzi la variabile numerocartella.
Dovresti scrivere qualcosa tipo questo
PHP:
class Elenco {

    private static $root;

    public function __construct($numerocartella) {
        self::$root = "cartellabase/" . $numerocartella . "/";
    }

}
per richiamare poi la classe in questo modo
PHP:
$elenco = new Elenco(2);
 
La variabile l'ho dichiarata prima della funzione, così....
PHP:
$numerocartella=12;

class Elenco {
private static $root   = "cartellabase/$numerocartella/";
...

ma non è che ho bisogno di variabili globali per richiamarle dentro una funzione???
Come faccio a dichiarare una variabile globale???
 
il problema che se dichiaro la variabile sopra la funzione, in realtà me la prende ma io ho una pagina in cui nell'head è dichiarata la variabile $numerocartella=12;
su tale pagina c'è un include() ad una pagina php con lo script che ho scritto sopra ossia:

PHP:
class Elenco {
private static $root   = "cartellabase/$numerocartella/";
...

ebbene la variabile non viene letta... Perché?
p.s. se la variabile la metto direttamente nella pagina dove c'è lo script (quella richiamta dal include) la legge bene.

Quindi: come faccio a far leggere al file include le variabili che dichiaro nella pagina dove ho messo l'include????
 
Li sei all'interno di una classe non di una funzione, non può leggere dati esterni se non glieli passi come ti ho mostrato nell'esempio.
edit
nemmeno una funzione può leggere delle variabili esterne se non le dichiari globali o se non gliele passi come parametro
 
Ultima modifica:
Li sei all'interno di una classe non di una funzione, non può leggere dati esterni se non glieli passi come ti ho mostrato nell'esempio.
edit
nemmeno una funzione può leggere delle variabili esterne se non le dichiari globali o se non gliele passi come parametro

però se inserisco la variabile prima della classe questa viene letta normalmente...perchè?
 
Ultima modifica:
Non so davvero come a te possa funzionare
PHP:
<?php

$numerocartella = 12;

class Elenco {

    private static $root;

    public function stampa() {
        echo $numerocartella;
    }

}

$elenco = new Elenco();

$elenco->stampa();
a me non stampa
 
Sorry ora mi riferivo ad un'altro script con una funzione dentro, non una classe... il seguente:

PHP:
 $numerocartella=13; // funzione dichiarata nella pagina dell'include, sotto c'è lo script dell'include

function access($attr, $path, $data, $volume) {
'path'          => "cartellabase/$numerocartella/",         // path to files (REQUIRED)
...

vale quello che dicevo ossia questo script viene richiamato da un include presente nella pagina dove ho dichiarato la variabile
ma non la legge. Se invece la variabile la inserisco prima della funzione direttamente nello script la legge normalmente.
Quindi, esiste un modo per far leggere al file include le variabili che dichiaro nella pagina dove ho messo l'include????
 
Ultima modifica:
puoi usare global
PHP:
<?php

$numerocartella = 13;
function access() {
    global $numerocartella;
    echo $numerocartella;
}
access();
 
all'interno della funzione come ti ho mostrato nell'esempio
 

Discussioni simili