私は OOP の初心者で、FTP サーバーに接続するための PHP クラスを作成しようとしています。
class ftpConnect {
private $server;
private $user;
private $password;
private $connection_id;
private $connection_correct = false;
public function __construct($server, $user = "anonymous", $password = "anonymous@mail.com") {
$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;
}
}
}
現時点では、クラスの体は取るに足らないものだと思います。
主な問題は、OOP の考え方を理解するのに問題があることです。
コードが実行されるたびに送信メールを追加したかったのです。PHPMailer クラスをダウンロードし、それを使用してクラスを拡張しました。
class ftpConnect extends PHPMailer {...}
いくつかの変数とメソッドを追加しましたが、その時点まではすべてが期待どおりに機能します。
私は考えました:データベースにすべてを保存することを追加しないのはなぜですか。ユーザーが上記のコードを実行するたびに、適切な情報をデータベースに保存する必要があります。
私を編集ftpConnect class
して、コンストラクターに接続するデータベースを追加したり、テーブルを更新する他の方法を追加したりできます。しかし、データベース接続とそのすべてが将来他のクラスで使用される可能性があるため、別のクラスで実装する必要があります。しかし、私の「メイン」ftpConnect class
はすでに1つのクラスを拡張しており、もう1つも拡張できませんでした。
どうすればこの問題を解決できるかわかりません。多分私ftpConnect class
は複雑すぎて、どういうわけかそれをいくつかの小さなクラスに分割する必要がありますか? どんな助けでも大歓迎です。