Операции с файлами классом - переходить ли по цепи?

Yaponchick

Новичок
Операции с файлами классом - переходить ли по цепи?

Здравствуйте.

Имеем класс, допустим File, у которого 2 метода: public function copyTo(...) и public function saveTo(...).

Вопрос: должен ли указатель на файл внутри класса, изменяться на новый файл после использования одного из выше перечисленных методов?

Пример:
PHP:
<?php
$file = new File('/1.txt');
print $file->path; # => /1.txt

$file->saveTo('/2.txt');
print $file->path; # => /1.txt или /2.txt ?

$file->copyTo('/3.txt');
print $file->path; # => /1.txt или /2.txt или /3.txt ?
?>
Всем заранее Спасибо.
 

Ravanger

Новичок
ну если ты будешь его (свойство) переопределять в методах то должен :)
 

Yaponchick

Новичок
Делать или не делать — это действие после "надо или не надо".
Собственно вопрос мой в "надо или не надо" менять путь к файлу.
 

Fred

Новичок
Лучше сделать такой вариант.

PHP:
class File {
  //...

  function copyTo($copyPath) {
    copy($this->path, $copyPath);

    return new File($copyPath);
  }
}
Тогда исходный объект будет продолжать содержать указатель на исходной файл, что и ожидают другие части кода, работающие с этим объектом. А новый объект будет указывать на скопированный файл.
 
Сверху