Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Quesito sui metodi statici

    Ciao,
    mi servirebbe creare una classe con una serie di metodi di "pubblica utilità". Se ad esempio creo qualcosa del tipo:

    class utilities {

    public static greeting($str_var){

    $str_var .= 'ciao';

    return $str_var;

    }

    }
    non c'è il pericolo che se viene chiamato tale metodo contemporaneamente in più pagine la variabile sia sovrascritta, dando il medesimo risultato in pagine diverse?

    Saluti,
    carlostefano

  2. #2

  3. #3

    molto esplicativo


    Per sicurezza cerco di essere un po' più chiaro

    I metdodi statici dovrebbero differenziarsi da quelli istanziati in quanto sono "unici", nel senso che qualunque richiamo venga fatto ad essi, in realtà comporta di far sempre riferimento alla stessa istanza.
    Io per il momento li ho utilizzati solo nei seguenti due casi:

    1) Per restituire un determinato valore

    es.


    public static myval(){

    $str_val = "questo è il mio valore, uguale per tutte le volte che esso venga richiamato";

    return $str_val;
    }



    2) Per metodi che volutamente devono far riferimento alla stessa istanza

    es. connessione al database fatta da diversi metodi di diverse classi (vedi singleton)


    Quello che ho presentato qui è però un terzo caso, in cui la funzione compie anche un eleborazione di un valore che viene passato come argomento della funzione. Quindi, ho il dubbio che il valore restituito possa essere uguale nel caso in cui il metodo sia richiamato contemporaneamente da pagine diverse :


    mypage.php

    echo utilities:: greeting('valore passato ');


    mypage2.php

    echo utilities:: greeting('secondo valore passato ');

    in cui entrambe stampino avideo la stessa cosa, cioè magari 'secondo valore passato ciao'


    Tra l'altro in questa discussione un utente mi aveva espresso lo stesso concetto.

  4. #4
    up

  5. #5
    Strano vedere come non sia in grado di rispondere a questa domanda anche chi si occupa di programmazione ad oggetti da molto più tempo di me :master:

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.