Ragazzi come funzionano le diverse richieste dei client con PHP?
Esempio se uso le classi e ho una pagina.php che fa una cosa del tipo:
$miaistanza=new miaClasse();
se ho 1.000 richieste, creo mille istanze? E se la classe fosse static?
Ragazzi come funzionano le diverse richieste dei client con PHP?
Esempio se uso le classi e ho una pagina.php che fa una cosa del tipo:
$miaistanza=new miaClasse();
se ho 1.000 richieste, creo mille istanze? E se la classe fosse static?
Con i sogni possiamo conoscere il futuro...
Con i sogni possiamo conoscere il futuro...
no ogni richiesta è indipendente dall'altra a prescindere dalla staticità o meno della classe. Nel senso che tutto quello che fai durante l'elaborazione della risposta "muore" quando il server ritorna la risposta al client. Non c'è persistenza di stato o nulla. Anche se la richiesta è contemporanea da due client diversi
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
Praticamente devo creare una classe webService, la quale ha i seguenti attributi: action, response.
ad ogni action (passata tramite URL), io costruisco opportunamente l'array response, per poi fornire un output sottoforma di JSon.
E' giusto creare una classe statica? una cosa di questo tipo:
http://pastebin.com/UzhEGhSd
p.s:
Hai qualche riferimento online su cui posso studiare il contesto delle richieste in php?
Te ne sarei molto grato..
Grazie
Ultima modifica di gaten; 03-02-2015 a 19:54
Con i sogni possiamo conoscere il futuro...
no non ha senso. Mettiamola così:
client A -> HTTP GET /api/login -> viene caricato tutto quello che serve al tuo script php per lavorare, comprese le tue classi e aperte le connesioni al db etc -> il tuo script elabora una risposta -> apache prende e restituisce la risposta http (e tutto quello che hai istanziato nel mentre viene distrutto)
client B -> HTTP GET /api/login -> riparte tutto da capo, la richiesta di B non ha memoria della richiesta di A
non so magri su php.net viene spiegato meglio ma non so dove
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
Non riesco a capire...
Non ha senso creare una classe statica come l'ho creata io?
Con i sogni possiamo conoscere il futuro...
Dipende da come la usi. Quello che ti deve essere ben chiaro è che se in una pagina chiami webSrv::execute e webSrv::issetAuth e in una successiva richiesta richiami solo webSrv:rintJsonResponse (senza prima chiamare webSrv::issetAuth), allora il json risultante sarà sempre un array vuoto.
Ovviamente, questo mi è chiaro. Il popolamento dell'array $response, dipende strattamente dall'esecuzione del metodo execute di webSrv. Non a caso io ho una cosa del tipo:
Il mio dubbio era:codice:webSrv::execute($_REQUEST); webSrv::printJSonRequest();
1) E' corretto creare una classe statica
2) Se non fosse statica e usassi new, come "reagisce" il web server(Apache in questo caso) a richieste di più client?
Con i sogni possiamo conoscere il futuro...
Una classe con solo metodi statici è adatta solo per costruire degli helper, e anche quello è sintomo di cattivo design. Per rispondere: no, non ha senso creare classi statiche (anche se potresti, sia inteso). Se vuoi rimanere nel contesto globale allora ha più senso utilizzare delle semplici funzioni, http://php.net/manual/en/language.functions.phpE' corretto creare una classe statica
Non ti devi preoccupare in tale senso, una volta terminato lo script, php rilascia automaticamente tutta la memoria allocata.Se non fosse statica e usassi new, come "reagisce" il web server(Apache in questo caso) a richieste di più client?
Letture che potrebbero interessarti:
http://blog.servint.net/2011/10/28/t...-php-handlers/
http://www.inmotionhosting.com/suppo...st-php-handler
Ultima modifica di .Kurt; 04-02-2015 a 01:09