Jump to content

Webservice chiamato più volte in ogni pagina


Recommended Posts

Buonasera, ho creato un modulo custom definendo una classe con i propri metodi. Ogni metodo si riferisce ad un hook per il quale ho scritto una funzione ed ogni funzione chiama un ws che gestisce il risultato. Funzione A chiama ws A, funzione B chiama ws B etc…

Anziché chiamare una volta il ws A ed una volta il ws B, tutti i ws vengono chiamati svariate volte ad ogni accesso alla pagina e sembrerebbero essere chiamati tante volte quanti sono gli hook.

Sapreste indicarmi da cosa può dipendere? Grazie.

Edited by Marco R.
Messaggio più chiaro e comprensibile (see edit history)
Link to comment
Share on other sites

3 hours ago, Marco R. said:

Buonasera, ho creato un modulo custom definendo una classe con i propri metodi. Ogni metodo si riferisce ad un hook per il quale ho scritto una funzione ed ogni funzione chiama un ws che gestisce il risultato. Funzione A chiama ws A, funzione B chiama ws B etc…

Anziché chiamare una volta il ws A ed una volta il ws B, tutti i ws vengono chiamati svariate volte ad ogni accesso alla pagina e sembrerebbero essere chiamati tante volte quanti sono gli hook.

Sapreste indicarmi da cosa può dipendere? Grazie.

Non è ben chiaro in che modo sono state create le funzionalità A e B

Da quello che si legge si presuppone che le funzionalità sono state legate alla chiamata pagina, quindi è ovvio che ogni volta si chiami la pagina viene eseguita la funzionalità da zero.

Magari se chiarisci meglio cosa fanno o dovrebbero fare queste funzionalità, quando devono intervenire e dove si può anche valutare un possibile "consiglio" tecnico.

Saluti

Link to comment
Share on other sites

9 hours ago, 7bit said:

Non è ben chiaro in che modo sono state create le funzionalità A e B

Da quello che si legge si presuppone che le funzionalità sono state legate alla chiamata pagina, quindi è ovvio che ogni volta si chiami la pagina viene eseguita la funzionalità da zero.

Magari se chiarisci meglio cosa fanno o dovrebbero fare queste funzionalità, quando devono intervenire e dove si può anche valutare un possibile "consiglio" tecnico.

Saluti

Ho creato un modulo che permetta di identificare alcune informazioni aggiuntive dei clienti che risiedono su un'altra piattaforma.

Per reperire questi dati ho a disposizione vari ws forniti dalla piattaforma stessa.

Il primi due dati che mi occorrono devono essere reperiti ad ogni caricamento di pagina e devono mostrarmi un particolare dato in un div da mostrare prima di tutti gli altri.

Il modulo ha la sua classe  "class MyModule extends Module" al cui interno sono definite varie funzioni fra cui le prime necessarie per le inizializzazioni

public function __construct(){ //  }

public function install(){ //  }

public function installDB(){ //  }

public function registerHooks(){ //  }

public function uninstall(){ //  }

public function uninstallDB(){ //  }

public function unregisterHooks(){ //  }

e successivamente quelle riferite agli hook come ad esempio

public function hookDisplayHeader(){

    $params = <array con parametri>

    $client_mymodule = new MymoduleHttpClient();

    list($response_json, $error) = $client_mymodule->request('GET', 'utenti/checkCodice', $params);



    $client_mymodule = new MymoduleHttpClient();

    list($response_json, $error) = $client_mymodule->request('POST', 'auth/auth-login', $params);

    $response = json_decode($response_json, true);

    $tokenAccessoWS = $response['Data']['token'];



    $params['token'] = $tokenAccessoWS;

    $client_mymodule = new MymoduleHttpClient();

    list($response_json, $error) = $client_mymodule->request('POST', '/auth/sso-login', $params);

}

Seguono all'interno della classe altri 10 hooks per gestire altre informazioni i quali non hanno però alcuna chiamata ai ws.

La funzione MymoduleHttpClient è in un file a parte nella cartella classes ed al suo interno definisce le varie tipologie di chiamata CURL.

Il problema riscontrato è che le chiamate ai ws 'utenti/checkCodice', 'auth/auth-login' e 'auth/sso-login' vengono eseguite n volte anziché soltanto una volta e non saprei come risolvere.

Può dipendere dal fatto che l'hook viene chiamato più volte? In questo caso posso creare un hook custom chiamato una sola volta?

Grazie.

Link to comment
Share on other sites

la cosa più semplice è valorizzare una variabile alla prima chiamata 'utenti/checkCodice', 'auth/auth-login' e 'auth/sso-login', successivamente poi controlli se questa variabile è valorizzata o meno e quindi chiami o meno il ws

Saluto

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...