If the caller passes just the $name, the requested argument is considered
required. The caller may specify the second argument which then
makes the argument optional with the given default value.

If the type of the $name option is TYPE_FLAG (switch), this method returns
true if the flag has been passed or false if it was not. Specifying the
default value makes no sense in this case and leads to invalid coding exception.

param: string|null $name short or long option name, defaults to returning the list of allreturn: array|object|false array with all, object with the specific option meta-information or false of no such an option

In CLI mode, the access is automatically authorized. In HTTP mode, the
passphrase submitted via the request params must match the contents of the
file, the name of which is passed in another parameter.

param: string $source full path to the existing directoryparam: string $destination full path to the new location of the folderparam: bool $keepsourceroot should the root of the $source be kept or removed at the endreturn: bool

If the target already exists, files are moved into it. The target is created otherwise.

param: string $source full path to the existing directoryparam: string $destination full path to the new location of the folderparam: bool $keepsourceroot should the root of the $source be kept or removed at the endreturn: bool

param: string $ziplocation full path to the ZIP fileparam: string $plugintyperoot full path to the plugin's type locationparam: string $expectedlocation expected full path to the plugin after it is extractedparam: string|bool $backuplocation location of the previous version of the plugin or false for no backup

By default, PHP displays full path to scripts when the exception is thrown. In order to prevent
sensitive information leak (and yes, the path to scripts at a web server _is_ sensitive information)
the path to scripts is removed from the message.