Только начал изучать ООП на php. Появилась необходимость создать класс для работы с файлами и архивами. Собственно вопрос: как мне правильно создать экземпляр класса ZipArchive в моем классе, если он будет использоваться во многих методах моего класса? В голову пришли варианты:
1) Не понятно как потом к нему обращаться
class fileCreator {
private $zipname;
private $zip;
public function __construct($zipname) {
$this->zipname=$zipname;
$this->zip= new ZipArchive();
}
}
2) Не работает, но возможно есть похожий вариант.
class fileCreator {
private $zipname;
private $zip=new ZipArchive();
public function __construct($zipname) {
$this->zipname=$zipname;
}
}
3) Не создавать экземпляр ZipArchive в свойстве моего класса, а создавать его каждый раз в методе класса
class fileCreator {
private $zipname;
public function __construct($zipname) {
$this->zipname=$zipname;
}
public function func() {
$zip=new ZipArchive();
}
public function func2() {
$zip=new ZipArchive();
}
}
Первый вариант корректен.
class fileCreator {
private $zipname;
private $zip;
public function __construct($zipname) {
$this->zipname=$zipname;
$this->zip= new ZipArchive();
}
}
Непонятно как потом к нему обращаться
Из других методов? Точно так же, через $this->zip.
class fileCreator {
private $zipname;
private $zip;
public function __construct($zipname, ZipArchive $obj) {
$this->zipname=$zipname;
$this->zip= $obj;
}
}
$zip=new ZipArchive();
$a=new fileCreator ($name,$zip);
способов много
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники