Capabilities#
This page answers one question: what does Pathwise include today?
At a Glance#
Pathwise combines two layers:
Storage-safe file operations (local paths and mounted scheme paths).
Higher-level workflows (upload pipeline, compression, retention, queue, audit, policy).
Primary Modules#
Unified Facade (Infocyph\Pathwise\PathwiseFacade)#
Class:
PathwiseFacade
What you get:
One path-bound entry to
FileOperations,DirectoryOperations,SafeFileReader,SafeFileWriterandFileCompression.Static gateways for
UploadProcessor,DownloadProcessor,StorageFactory,PolicyEngine,FileJobQueue,AuditTrail,RetentionManager,ChecksumIndexerandFileWatcher.
File IO (Infocyph\Pathwise\FileManager)#
Classes:
FileOperationsSafeFileReaderSafeFileWriterFileCompression
What you get:
Create/read/update/delete, stream reads/writes, checksum verify/copy verify.
Atomic-safe writer mode, lock support, structured read/write helpers.
ZIP workflows with password/encryption, include/exclude patterns, progress callbacks.
Directory Workflows (Infocyph\Pathwise\DirectoryManager)#
Class:
DirectoryOperations
What you get:
Idempotent create, recursive copy/move/delete.
Listing, flattening, find/filter, size/depth metrics.
Directory sync with diff report.
Zip/unzip helpers for local and mounted paths.
Uploads (Infocyph\Pathwise\StreamHandler)#
Class:
UploadProcessor
What you get:
Standard upload handling and destination strategy.
Validation presets (image/video/document), MIME and size rules.
Chunked/resumable upload flow.
Extension allowlist/blocklist controls.
Upload ID validation for chunk/session identifiers.
Strict content checks (MIME-extension agreement and file signature checks).
Optional or required malware scan callback.
Downloads (Infocyph\Pathwise\StreamHandler)#
Class:
DownloadProcessor
What you get:
Secure download metadata generation for HTTP adapters.
Extension allowlist/blocklist controls.
Allowed-root restriction to prevent path breakout.
Hidden-file blocking and max-size limits.
Optional range request handling and partial-download metadata.
Stream copy into caller-provided output resources.
Security and Operations#
Classes:
PolicyEngine(allow/deny + conditions)AuditTrail(JSONL audit logging)FileJobQueue(file-backed queue)ChecksumIndexer(duplicate/index workflows)RetentionManager(keep-last and age-based cleanup)FileWatcher(snapshot/diff/watch)
Storage and Path Model#
Pathwise accepts:
Local paths (absolute or relative).
Mounted scheme paths like
assets://images/logo.png.
Mounting is done through FlysystemHelper::mount(). Once mounted, most
high-level modules can use the scheme path directly.
For config-driven adapter bootstrap, use
Infocyph\Pathwise\Storage\StorageFactory (see storage-adapters).
Runtime and Extensions#
Required:
PHP 8.4+
league/flysystem3.xext-fileinfo
Optional:
ext-zip(archive features)ext-pcntl(watch loop process patterns)ext-posix(richer Unix ownership data)ext-xmlreader,ext-simplexml(XML helpers)
What to Read Next#
file-facadefor unified usage style.quickstartfor first-use examples.recipesfor end-to-end flows.