Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98

    Richiamare metodo classe da un altro metodo della stessa classe

    Salve,
    se all'interno del metodo di una classe volessi richiamare un metodo della medesima classe come dovrei fare?

    Ho provato il seguente codice:
    codice:
    class Database
    {
            //Attributi
            private $name = "";
            private $address = "";
            private $username = "";
            private $password = "";
            private $con;
    
    
            //Metodi
            public function __construct($address, $name, $username, $password)
            {
                $this->address = $address;
                $this->name = $name;
                $this->username = $username;
                $this->password = $password;
                $this->con = new Mysqli($address, $username, $password, $name);
            }
    
            public function isConnected()
            {
                 return true;
            }
    
            public function getValues($query)
            {
                if( !isConnected() )
                    connect();
    
                return $this->con->query($query);
            }
    }
    ma quando provo ad eseguire getValues, ottengo il seguente errore:
    "Fatal error: Uncaught Error: Call to undefined function isConnected() in C:\xampp\htdocs\jogobonito\Database.php:58 Stack trace: #0 C:\xampp\htdocs\jogobonito\provadb.php(9): Database->getValues('SELECT * FROM u...') #1 {main} thrown in C:\xampp\htdocs\jogobonito\Database.php on line 58"

  2. #2
    Codice PHP:
    if(!$this->isConnected()) 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Codice PHP:
    if(!$this->isConnected()) 
    Venendo dalla programmazione ad oggetti in Java mi sono trovato un attimo spiazzato dal dover utilizzare l'operatore this costantemente.
    Ti ringrazio comunque per l'aiuto
    PS: C'è differenza se mi riferissi alla funzione come:
    codice:
    Database:: isConnected()
    ?

  4. #4
    Per usare quella sintassi, dovresti dichiarare il metodo isConnected() come "static"
    Codice PHP:
    public static function isConnected(){} 
    Non puoi richiamare staticamente un metodo non statico.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.