PHP-OOP extending two classes?
        Posted  
        
            by 
                user1292810
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by user1292810
        
        
        
        Published on 2012-10-13T21:28:06Z
        Indexed on 
            2012/10/13
            21:36 UTC
        
        
        Read the original article
        Hit count: 202
        
php
I am very beginner to OOP and now I am trying to write some PHP class to connect with FTP server.
class ftpConnect {
  private $server;
  private $user;
  private $password;
  private $connection_id;
  private $connection_correct = false;
  public function __construct($server, $user = "anonymous", $password = "[email protected]") {
    $this->server   = $server;
    $this->user     = $user;
    $this->password = $password;
    $this->connection_id      = ftp_connect($this->server);
    $this->connection_correct = ftp_login($this->connection_id, $this->user, $this->password);
    if ( (!$this->connection_id) || (!$this->connection_correct) ){
        echo "Error! Couldn't connect to $this->server";
        var_dump($this->connection_id);
        var_dump($this->connection_correct);
        return false;
    } else {
        echo "Successfully connected to $this->server, user: $this->user";
        $this->connection_correct = true;
        return true;
    }
  }
}
I reckon that body of the class is insignificant at the moment.
Main issue is that I have some problems with understanding OOP idea.
I wanted to add sending emails every time, when the code is run. I have downloaded PHPMailer Class and extended my class with it:
class ftpConnect extends PHPMailer {...}
I have added some variables and methods and everything works as expected to that point.
I thought: why not to add storing everything in database. Everytime user runs above code, proper information should be stored in database.
I could edit my ftpConnect class and add database connecting to the constructor, and some other methods to updating tables. But database connecting and all that stuff could be used by other classes in the future, so it definitely should be implemented in seperate class.
But my "main" ftpConnect class already extends one class and could not extend not a single one more.
I have no idea how can I resolve this problem. Maybe my ftpConnect class is to complex and I should somehow divide it into couple smaller classes?
Any help is much appreciated.
© Stack Overflow or respective owner