Экземпляр класса в свойстве класса php

204
03 апреля 2017, 08:39

Только начал изучать ООП на 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();
        }
    }
Answer 1

Первый вариант корректен.

class fileCreator {
    private $zipname;
    private $zip;
    public function __construct($zipname) {
         $this->zipname=$zipname;
         $this->zip= new ZipArchive();
    }
}

Непонятно как потом к нему обращаться

Из других методов? Точно так же, через $this->zip.

Answer 2
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);

способов много

READ ALSO
Как установить возможности htaccess?

Как установить возможности htaccess?

Есть phpini, есть htaccess

245
OpenCart - правка футера

OpenCart - правка футера

Хочу добавить ссылку в футер

259
Готовая регистрация для сайта на php и mysql [требует правки]

Готовая регистрация для сайта на php и mysql [требует правки]

Всем приветКто-нибудь знает хорошую готовую регистрацию для сайта на php и mysql, чтобы только заменить название БД, имени и пароля, а то не хочу...

276