la richiami e vedi se ti da un errore ... :maLOL:Originariamente inviato da mircov
E come si fa a controllare se una funzione è già stata definita? E' possibile?![]()
la richiami e vedi se ti da un errore ... :maLOL:Originariamente inviato da mircov
E come si fa a controllare se una funzione è già stata definita? E' possibile?![]()
Brava! E se mi dà errore lo script non funziona! E mi serve include_once! Vedi sopra perchè!
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
con function_exists() ;Originariamente inviato da mircov
E come si fa a controllare se una funzione è già stata definita? E' possibile?![]()
class_exists() etc.etc.
per favore NIENTE PVT TECNICI da sconosciuti
Ok, grazie.
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
Per essere più chiaro...
non è sbagliato servirsi di include_once(): include_once fa in una unica funzione i controlli che faremmmo manualmente con
if( function_exists() ) etc.etc.
Il fatto che che vedo troppo spesso usare in PHP include_once() a casaccio, cose del genere
"Il file è già incluso? Sì? No?...Beh per sicurezza mettiamoci comunque un include_once() tanto non costa nulla"
Mentre prima di tutto bisognerebbe pensare ad evitare le inclusioni inutili e solo poi usare include_once() nei casi in cui effettueremmo un controllo del tipo if ..else.
Il vero problema di include_once è che è troppo facile da usare al posto di include().
Il solo fatto di dover utilizzare una sintassi più impegnativa del tipo if() ...else... mette il programmatore nella condizione di chiedersi cosa sta facendo veramente
per favore NIENTE PVT TECNICI da sconosciuti
include_once!![]()
Era ovvio, ma per quale motivo queste funzioncine fighe vengono fuori solo quando ti sei fatto il culo a vedere come caspio nel tuo script facevi lo stesso include due volte?
Come per l' ob_start() il gentile amico degli Header:Location ...
sempre all'ultimo momento si trovano!
Si dovrebbero scrivere alla prima riga di ogni tutorial PHP.![]()
in questo caso, però, non succede nulla di quanto dici perchè nel primo caso l'include si presuppone che non c'è, mentre nel secondo, non hai messo include_once... e cmq se tu avessi già incluso il primo, anche se la seconda condizione non fosse vera, il file (con tutte le variabili e funzioni del caso) è già presente nella pagina!!Originariamente inviato da mircov
Magari può succedere questo
codice:if ($var == $var2) { include_once ('file'); } altro codice if ($var3 == $var4) { include ('file'); }
io credo che non sia proprio questa la funzione propria del include_once...
che resta cmq utilissimo...
ciao!!
Francesco
Ciao!
Il fatto che nel secondo non ci sia è stato un mio errore di scrittura ma doveva esserci![]()
Poi quello che dici è sbagliato perchè nel caso in cui si verifichi che $var non è uguale a $var2 (file non incluso e quindi non presente nella pagina) ma $var3 è uguale a $var4 (se non avessi usato include_once il file non si troverebbe nella pagina e darebbe errore nel caso il file contenesse una funzione). Ma potrebbe anche verificarsi che $var == $var2 & $var3 == $var4. In questo caso con un include semplice mi ritroverei con un errore. Con include_once no! Capito perchè il codice che ho postato9 è perfetto per l'esempio di utilità di include_once? (vabbè, forse perfetto no ma abbastanza semplice da capire se ci si ragiona su)
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
ma tu con directories di files ci hai lavorato ??? ...Originariamente inviato da iamironman
se un file l'hai già incluso, e sai che l'hai fatto, non rischierai mai di includerlo di nuovo
... cosa fai ti apri uno ad uno i files per essere sicuro di non averlo gia' incluso e rischi perfino di mandare un errore in output ?
sto scrivendo codice su un file, adesso mi serve la funzione o la classe dell' altro file, classe che potrei avere usato in altri files ancora, il tutto dentro un' unica struttura di gestione ... che cosa fai ?
[LIST=a][*] fermi il percorso mentale che ti ha portato fin li perche' devi assolutamente risfogliarti le dipendenze di questo file e di tutti gli altri sottofiles per essere certo di aver incluso una sola volta il file nella gerarchia o struttura totale ... poi di sicuro, "essendo organizzato", ci metterai mezzo secondo a ricordarti esattamente cosa stavi facendo in quel file e come andare avanti[*] scrivi include_once( $file ) e vai avanti con il tuo lavoro[/LIST=a]
definiscimi "programmatore organizzato" ora![]()
non sono d'accordo ... io lavoro con le classi, e con classi dentro classi, potrei avere la necessita' di utilizzare una gerarchia annidata in diverse situazioni, cosa faccio cambio i files in base alla gerarchia per ogni applicativo ???Originariamente inviato da Fabio Heller
Il fatto che che vedo troppo spesso usare in PHP include_once() a casaccio, cose del genere
"Il file è già incluso? Sì? No?...Beh per sicurezza mettiamoci comunque un include_once() tanto non costa nulla"
Mentre prima di tutto bisognerebbe pensare ad evitare le inclusioni inutili e solo poi usare include_once() nei casi in cui effettueremmo un controllo del tipo if ..else.
Il vero problema di include_once è che è troppo facile da usare al posto di include().
include_once mi da la certezza che la classe con le sue dipendenze la posso usare dove e come voglio, invece di debuggarmi ogni volta tutta la struttura.
io faccio funzioni per semplificarmi i controlli e sviluppare in modo piu' veloce, tu stai dicendo di evitare automatizzazioni e scrivere if .. else ... per ogni minima cosa ??? :master:Originariamente inviato da Fabio Heller
Il solo fatto di dover utilizzare una sintassi più impegnativa del tipo if() ...else... mette il programmatore nella condizione di chiedersi cosa sta facendo veramente
... e scrivere un controllo function_exist class_exist ogni volta che mi serve un include_once ti sembra saggio ??? :master:
a volte non ti capisco![]()