我是 OOP 的初学者,现在我正在尝试编写一些 PHP 类来连接 FTP 服务器。
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
已经扩展了一个类,并且不能再扩展一个类。
我不知道如何解决这个问题。也许我ftpConnect class
的太复杂了,我应该以某种方式将它分成几个较小的类?任何帮助深表感谢。