4.8 KiB
Upgrade guide for v2 to v3
A lot has changed in this version release, so please read carefully to ensure you make all necessary changes.
Namespace
Spaces-API is now namespaced, so you will need to add use SpacesAPI\Spaces;
to the top of your files.
Method changes
Spaces::__construct()
Region is now passed into the Spaces constructor instead of the Space.
Old signature:
Spaces::__construct($accessKey, $secretKey, $host = "digitaloceanspaces.com")
New signature
Spaces::__construct(string $accessKey, string $secretKey, string $region = "ams3", string $host = "digitaloceanspaces.com")
Spaces::listSpaces()
Method name has changed to Spaces::list()
Spaces::space()
Signature has changed as the region is now passed into the Spaces
constructor
Old signature:
Spaces::space($name, $region = "ams3")
New signature
Spaces::space(string $name)
Space::__contruct()
Signature has changed as S3 credentials are no longer passed in, nor the region or host.
Old signature:
Space::__construct($name, $region, $accessKey, $secretKey, $host)
New signature
Space::__construct(S3Client $s3, string $name)
Space::create()
This method has moved to the Spaces
class and the signature has changed
Old signature:
Space::create($privacy = "private")
New signature
Spaces::create(string $name, bool $public = false)
Space::downloadToDirectory()
Method name has changed. Parameter names have changed, but function the same way.
Old signature:
Space::downloadToDirectory($directory, $filesStartingAs = "")
New signature
Spaces::downloadDirectory(string $local, ?string $remote = null)
Space::upload()
Method name and signature has changed
Old signature:
Space::upload($text, $saveAs, $privacy = "private", $params = array())
New signature
Spaces::uploadText(string $text, string $filename, array $params = [])
Space::uploadFile()
$privacy
parameter removed from signature. Parameter names have changed, but function the same way.
Old signature:
Space::uploadFile($filePath, $saveAs = "", $privacy = "private")
New signature
Spaces::uploadFile(string $filepath, ?string $filename = null)
Spaces::downloadFile()
Method has moved to File
, changed name and changed signature
Old signature:
Space::downloadFile($file, $saveTo = false)
New signature
File::download(string $saveAs)
Space::copyFile()
Method has moved to File
, changed name and changed signature
Old signature:
Space::copyFile($filePath, $saveAs, $toSpace = "", $privacy = "private")
New signature
File::copy(string $newFilename, bool $public = false)
Space::listFiles()
Method signature has changed. This shouldn't have much impact as almost no-one should be using the second/third argument.
Old signature:
Space::listFiles($ofFolder = "", $autoIterate = true, $continueAfter = null)
New signature
Space::listFiles(string $directory = "", ?string $continuationToken = null)
Space::fileExists()
Method removed.
If you need to check for file existence, instantiate a File
object from the space, and catch the FileDoesntExistException
try {
$space->file("filename.txt");
} catch (FileDoesntExistException $e) {
// Uh oh, the file doesn't exist
}
Space::fileInfo()
Method removed
File information is now stored in properties on the File
object
$file = $space->file('filename.txt');
$file->content_type;
$file->content_length;
$file->expiration;
$file->e_tag;
$file->last_modified;
Space::url()
Method moved to File
and signature has changed
Old signature:
Space::url($path)
New signature
File::getURL()
Space::signedURL()
Method moved to File
and signature has changes
Old signature:
Space::signedURL($path, $validFor = "15 minutes")
New signature
File::getSignedURL($validFor = "15 minutes")
Space::deleteFolder()
Method name has changed. Parameter name has changed, but meaning remains the same.
Old signature:
Space::deleteFolder($prefixOrPath)
New signature
File::deleteDirectory(string $path)
Space::deleteFile()
Method has moved to File
and signature has changed.
Old signature:
Space::deleteFile($path)
New signature
File::delete()
Space::filePrivacy()
Method removed. Use File::makePublic()
or File::makePrivate()
instead.
Space::setCORS()
Method removed. Use Space::addCORSOrigin()
, Space::removeCORSOrigin()
or Space::removeAllCORSOrigins()
instead
Space::getLifecycleRules()
Removed with no replacement.
Space::setLifecycleRules()
Removed with no replacement.