|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
[PHP]Problemi di visibilità
ho un progetto con + cartelle e file..
se in tutte vogli condividere un array $pippo che è contenuto in un file come posso fare? io pensavo includo in un file che viene sempre richiamato e a sua volta richiama altri file..ma niente per funzionare in tutte le pagine devo includerlo.. non c'è un modo per includerlo in tutte? esempio file da includere: ita.php che contiene array $pippo; funzioni.php (file che viene sempre richiamato e che contiene un require a ita.php) vari file che richiedono funzioni.php ma che non vedono l'array pippo contenuto in ita.php.. spero di essermi spiegato..come posso risolvere? Grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Innanzitutto bisogna vedere dove hai messo i require, ad esempio se li hai messi all'interno di blocchi { } (es. funzioni o if). Poi bisogna vedere quali path eventualmente hai specificato nel require. Infine bisogna vedere dove hai usato la variabile inclusa, ad esempio se in una funzione, perché una variabile anche se inclusa non è automaticamente "globale".
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2005
Città: Bisceglie (BT)
Messaggi: 1091
|
prova con l'INCLUDE... la cosa funziona; almeno a me
![]() ovviamente in funzioni, l'include - ma credo anche il require - dell'ita deve essere all'inizio e fuori da condizioni.
__________________
[Laptop] DELL XPS 15 9510 (2021) i7-11800H, 16GB, 1TB SSD WDC SN730 NVMe, GeForce RTX 3050 4GB, Display Full HD [Mobile] Google Pixel 4a |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
non funziona ne con include ne con require che uso..
non vorrei che l'unica soluzione sia quella di rendere l'array dentro a ita.php globale. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
niente nn funziona neanche con global..
c'è qlc che sbaglio.. allora ricapitoliamo ita.php Codice:
<?php $lp = array( //Menu "Titolo" => "pippo") ?> function.php con varie funzioni tra cui top e foot.. e poi ci sono le varie pagine... se metto nelle funzioni top e foot il require a ita.php riconoscono l'array lp mentre se metto in cima a function il require all'array non lo vede nessuno: global $lp; require_once($_SERVER['DOCUMENT_ROOT'].'/lang/ita.php'); |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
http://it.php.net/manual/en/language...bles.scope.php
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Ma quel
Codice:
global $lp; require_once($_SERVER['DOCUMENT_ROOT'].'/lang/ita.php'); Perchè in realtà dovresti fare: Codice:
require_once($_SERVER['DOCUMENT_ROOT'].'/lang/ita.php'); function cippirimerlo() { global $lp; } |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Quote:
devo mettere global dentro alle funzioni.. ![]() non c'è altro modo vero? |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:50.