Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Flsystem 은 는 thephpleague.com 개발자 그룹에서 만든 파일 시스템 추상화(File system abstraction) 패키지입니다. 위치한 곳이 Local 디스크거나 AWS,  FTP 인지 여부와 상관없이 동일한 Interface 로 파일과 디렉터리를 다룰 수 있습니다.

...

최근에 2.0 이 출시되고 1.0 과 아키텍처와 API 가 바뀌어서 기존 소스들은 수정이 필요합니다.


API 간소화

update, put 등 제거

기존에는 write 와 update 가 분리되어 있었지만 이번 버전에서는 하나로 합쳐지고 이에 따라 update,  updateStream, put,  updateStream 메서드는 삭제되었습니다.

...

Code Block
languagephp
try {
    $filesystem->writeStream($path, $stream, $config);
} catch (FilesystemError | UnableToWriteFile $exception) {
    // handle the error
}

result 를 boolean 으로 return 하지 않음

예전에는 메서드 호출에 대한 결과 값을 boolean 으로 전달했으므로 이 값에 따라 분기해서 처리했습니다.

...

Code Block
languagephp
try {
    $filesystem->write('path.txt', 'contents');
    // 성공 처리
} catch (FilesystemError $exception) {
    // 예외 처리
}


Error Handling with exceptions.

V2 에서는 에러 처리로 Exception 을 사용하므로 exception handling 이 필요합니다.  전체 예외 목록은 여기에서 확인할 수 있습니다.


더 나은 content listing 기능 제공

V2 부터는 개발자 경험 향상이 최우선 목표라 잘 알려진 문제들을  모두 해결했고 대표적인 예는 폴더내 목록을 가져오는 listContents 메서드입니다.

다양한 필터와 attribute 를 사용해서 컨텐츠를 필터링할 수 있으며 바뀐 사용법은 여기에서 확인할 수 있습니다.


Plugin 제거

V1 에서는 플러그인으로 기능을 확장할 수 있었지만 나쁜 디자인이나 안정성이 떨어지는 플러그인을 만드는 경우가 많아서 V2 에서는 삭제되었습니다.

...

그 외에 다른 변경 사항들은 아래 패키지 문서 링크를 보면 됩니다.

Ref

...