Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    Gestione richieste in php

    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...

  2. #2
    Quote Originariamente inviata da gaten Visualizza il messaggio
    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?
    1000 richieste 1000 istanze. Se la classe è statica, 1000 richieste nessuna istanza perchè la classe non la istanzi. Non che cambi qualcosa alla fine.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    1000 richieste 1000 istanze. Se la classe è statica, 1000 richieste nessuna istanza perchè la classe non la istanzi. Non che cambi qualcosa alla fine.
    Immagino che se fosse statica, se arrivassero due richieste da A e B ed A effettua una modifica, questa verrebbe vista anche da B, giusto? Cosa che non accadrebbe se fossero due istanze diverse.
    Volevo capire com'è il contesto in PHP.
    Con i sogni possiamo conoscere il futuro...

  4. #4
    Quote Originariamente inviata da gaten Visualizza il messaggio
    Immagino che se fosse statica, se arrivassero due richieste da A e B ed A effettua una modifica, questa verrebbe vista anche da B, giusto? Cosa che non accadrebbe se fossero due istanze diverse.
    Volevo capire com'è il contesto in PHP.
    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

  5. #5
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    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...

  6. #6
    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

  7. #7
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Non riesco a capire...
    Non ha senso creare una classe statica come l'ho creata io?
    Con i sogni possiamo conoscere il futuro...

  8. #8
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    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.

  9. #9
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    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:

    codice:
    webSrv::execute($_REQUEST);
    webSrv::printJSonRequest();
    Il mio dubbio era:
    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...

  10. #10
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    E' corretto creare una classe statica
    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.php

    Se non fosse statica e usassi new, come "reagisce" il web server(Apache in questo caso) a richieste di più client?
    Non ti devi preoccupare in tale senso, una volta terminato lo script, php rilascia automaticamente tutta la memoria allocata.

    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.