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

    [PHP] Anomalia metodi statici

    Raga è normale che con questo codice riscontro le seguenti anomalie:

    Codice PHP:
    class A
    {
        public static function 
    func1()
        {
            print 
    $this->func2() . "
    "
    ;
            print 
    self::func2() . "
    "
    ;
            print 
    A::func2() . "
    "
    ;
        }
        
        public function 
    func2()
        {
            return 
    "func2";
        }
    }

    print 
    A::func1(); 
    l'output è:
    Fatal error: Using $this when not in object context
    func2
    func2
    Fino al primo "fatal error" tutto ok, sto cercando di utilizzare $this all'interno di un contesto statico dove oltretutto la classe A non è stata istanziata.

    Ma le altre due chiamate di "func2()" funzionano perfettamente....come mai? Io sto richiamando da una funzione statica, senza istanziare l'oggetto, una funzione non statica (che quindi non dovrebbe essere raggiungibile)...ed il tutto senza errori?!?

    Cosa mi sfugge? Come gestisce PHP queste situazioni?

    La mia versione di PHP è la 5.2.6
    Administrator of NAMDesign.Net

  2. #2
    nessuno ne sa niente?
    Administrator of NAMDesign.Net

  3. #3
    Codice PHP:
    error_reporting(E_ALL E_STRICT); 

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    ah ecco, io tengo messo solo E_ALL; con l'aggiunta di E_STRICT mi da anche l'altro errore.

    Thanks
    Administrator of NAMDesign.Net

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.