Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
<?php
>
declare(strict_types=1); namespace ZipStream\Option; use DateTime; use DateTimeInterface; final class File { /** * @var string */ private $comment = '';
>
/** * @var Method */ private $method;
>
/** * @var int */ private $deflateLevel;
>
/** * @var DateTimeInterface */ private $time;
>
/** * @var int */ private $size = 0; public function defaultTo(Archive $archiveOptions): void { $this->deflateLevel = $this->deflateLevel ?: $archiveOptions->getDeflateLevel(); $this->time = $this->time ?: new DateTime(); } /** * @return string */ public function getComment(): string { return $this->comment; } /** * @param string $comment */ public function setComment(string $comment): void { $this->comment = $comment; } /** * @return Method */ public function getMethod(): Method { return $this->method ?: Method::DEFLATE(); } /** * @param Method $method */ public function setMethod(Method $method): void { $this->method = $method; } /** * @return int */ public function getDeflateLevel(): int { return $this->deflateLevel ?: Archive::DEFAULT_DEFLATE_LEVEL; } /** * @param int $deflateLevel */ public function setDeflateLevel(int $deflateLevel): void { $this->deflateLevel = $deflateLevel; } /** * @return DateTimeInterface */ public function getTime(): DateTimeInterface { return $this->time; } /** * @param DateTimeInterface $time */ public function setTime(DateTimeInterface $time): void { $this->time = $time; } /** * @return int */ public function getSize(): int { return $this->size; } /** * @param int $size */ public function setSize(int $size): void { $this->size = $size; } }