Installation#
Install with Composer:
composer require infocyph/pathwise
Requirements:
PHP 8.4+
league/flysystem3.xext-fileinfo
Optional extensions:
ext-zipfor ZIP features.ext-pcntlfor long-running watch loops.ext-posixfor richer Unix ownership details.ext-xmlreaderandext-simplexmlfor XML helpers.
Optional adapter packages (choose per driver):
AWS S3:
league/flysystem-aws-s3-v3+aws/aws-sdk-phpAsync AWS S3:
league/flysystem-async-aws-s3+async-aws/s3Azure Blob Storage:
league/flysystem-azure-blob-storageGoogle Cloud Storage:
league/flysystem-google-cloud-storageMongoDB GridFS:
league/flysystem-gridfsSFTP:
league/flysystem-sftp-v3SFTP (V2):
league/flysystem-sftp-v2FTP:
league/flysystem-ftpWebDAV:
league/flysystem-webdavZIP archive:
league/flysystem-ziparchiveIn-memory:
league/flysystem-memoryRead-only wrapper:
league/flysystem-read-onlyPath prefixing wrapper:
league/flysystem-path-prefixing
See storage-adapters for setup patterns.
Where to Use First#
If you are evaluating Pathwise, start with the unified PathwiseFacade facade, then
drop down to direct module classes as needed.
use Infocyph\Pathwise\PathwiseFacade;
$ops = PathwiseFacade::at('/tmp/example.txt')->file();
$ops->create('initial')->update('updated');