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

    [richiamare metodo in un'altra classe]

    volevo chiedervi una cosa:

    se faccio una classe così

    Codice PHP:
    class Db  {
        
        var 
    $host "localhost";
        var 
    $db_nome "MyDb";
        var 
    $username "Sibelium";
        var 
    $password "Secret";
        
        function 
    connetti()  {
            
    mysql_connect($this->host,$this->username,$this->password) or die(mysql_error());
            echo 
    "connesso";
        }
        function 
    disconnetti()  {
            @
    mysql_close();
        } 
    Poi ne faccio un'altra del tipo

    Codice PHP:
    class OtherClass  {

        function 
    CallMethodDb()  {
            
    Db::connetti();
        }

    Poi nella mia paginetta stupida

    Codice PHP:
    require_once ("Db.php");//classe Db
    require_once("OtherClass");//l'altra classe che richiama il metodo della classe Db
    //istanzio oggetto
    $MyObject = new OtherClass;
    //chiamo il  metodo
    $MyObject->CallMethodDb(); 
    Il risultato è che le proprietà host,username e password non risultano definite presumo perchè non definite nella classe istanziata(OtherClass) con relativo fallimento della connessione al databeis.

    Volevo sapere se ci sono soluzioni più belle...
    Grazie!

  2. #2
    class Db dovrebbe essere di tipo static , cosa non implementata in PHP4 ( e non ricordo nemmeno se ce l'ha il 5 )

    per usare l'altra classe dovresti crearti un riferimento dentro OtherClass ... esempio:

    codice:
    class OtherClass  {
    	function CallMethodDb()  {
    		$dB = &new Db();
    		$dB->connetti();
    	}
    }
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.