Я видел много классов с функцией SINGLE. Почему они помещают функцию SINGLE в класс?
Я использую классы только для того, чтобы сделать вещи более ясными, но о тех, кто помещает функцию SINGLE в класс? Есть ли причина для этого?
Я не вижу разницы между ними:
<?php
class Image {
private $resource;
function resize($width, $height) {
$resized = imagecreatetruecolor($width, $height);
imagecopyresampled($resized, $this->resource, 0, 0, 0, 0, $width, $height, imagesx($this->resource), imagesy($this->resource));
$this->resource = $resized;
}
}
$image = new Image();
$image->resource = "./someimage.jpg";
$image->resize(320, 240);
и
function resize($width, $height) {
$resource = "./someimage.jpg";
$resized = imagecreatetruecolor($width, $height);
imagecopyresampled($resized, $resource, 0, 0, 0, 0, $width, $height, imagesx($resource), imagesy($resource));
$resource = $resized;
return $resource;
}
resize(320, 240);
Моя мысль заключалась в том, что $resource является основной причиной, потому что она закрыта:
class Image {
private $resource;
function resize($width, $height) {
$resized = imagecreatetruecolor($width, $height);
imagecopyresampled($resized, $this->resource, 0, 0, 0, 0, $width, $height, imagesx($this->resource), imagesy($this->resource));
$this->resource = $resized;
}
}
$image->resize(320, 240);
и, следовательно, недоступен для глобальной области. Но почему в этом случае не используется простая функция?