Visualizzazione risultati 1 fino 3 di 3

Discussione: [PHP] OOP: Errore se un metodo non viene utilizzato in una classe.

  1. #1
    Guest

    Predefinito [PHP] OOP: Errore se un metodo non viene utilizzato in una classe.

    Volvo sapere se fosse possibile bloccare l'esecuzione di un metodo nel caso questo venga chiamato durante lo script e non dentro una classe ben definita.
    Per esempio, per far questo, si utilizza "private" per far si che venga richiamato solo dalla classe, ma scrivendo private function my_method() non potrei utilizzarla in una classe, per esempio:
    Codice PHP:
    class first_class
    {
    function
    my_method(int $var)
    {
    global
    $second_class;

    return
    $second_class->my_method($var);
    }

    class
    second_class
    {
    function
    my_method($var)
    {
    return
    $var + 5;
    }
    }

    $a = new first_class;
    $b = new second_class;

    echo
    $a->my_method(10); # Restituisce 15

    echo $b->my_method(10); # Restituisce errore perché DOVREBBE essere privata
    # o utilizzabile solo da $a
    E' abbastanza chiaro o devo fare altri esempi?

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Hai pensato di estendere una classe?
    Ti faccio un esempio:
    Codice PHP:
    class A {
    protected function
    method_2($var) { // protected. con private, il metodo, non può essere ereditato dalla classe B
    return $var + 5;
    }
    }

    class
    B extends A {
    public function
    method_1($var) {
    return
    $this->method_2($var);
    }
    }

    $a = new B;
    echo
    $a->method_1(5); // 10
    Ultima modifica di javascripter : 31-12-2010 alle ore 11.34.26

  3. #3
    Guest

    Predefinito

    Si, ci ho pensato, ma non l' ho fatto perché una classe è quella Template e l'altra è quella della Cache! Siccome volevo fare una "cosa ordinata", volevo inserire il metodo per creare la cache nella classe apposita e non mi pare il caso di estendere quella Template con tutta quella Cache!


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •