Download the PHP package infocyph/pathwise without Composer

On this page you can find all versions of the php package infocyph/pathwise. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package pathwise

Pathwise

Security & Standards Packagist Downloads License: MIT Packagist Version Packagist PHP Version GitHub Code Size Documentation

Pathwise 4 is a framework-neutral PHP 8.4+ filesystem toolkit built on Flysystem 3. It combines safe local file operations with instance-scoped storage topology, hardened upload/download pipelines, archive controls, file-backed queueing, observability, retention, indexing, policy enforcement, and bounded trusted-local native filesystem acceleration.

Requirements

ZIP, POSIX ownership, XML parsing, and remote Flysystem adapters are optional capabilities. Install only the extensions/adapters your application uses.

Storage topology

Use StorageContext for applications, workers, long-lived runtimes, or any process that can host more than one storage topology. Contexts do not register process-global mounts.

StorageFactory::createFilesystem() remains the stateless constructor for built-in/official Flysystem adapters. Custom driver factories belong to a StorageContext, not a global registry.

File and directory operations

The facade is stateless convenience. Persistent storage topology belongs to StorageContext.

Framework-neutral uploads

The strict untrusted-data profile uses private bounded staging, server-generated naming, content checks, controlled publication, and restrictive local permissions. Scanner policy remains explicit: REQUIRED fails closed. The client filename is metadata only and never becomes the authoritative destination path.

Trusted public/static files

Do not map a raw URL directly to disk. Let application policy choose the public root and candidate name, then resolve that relative candidate through Pathwise:

Traversal/root escape fails closed and symlink policy is explicit. Route eligibility, dotfile policy, HTTP caching/ranges, and transport remain application concerns.

Secure downloads and ranges

DownloadPreparation carries status/headers/range metadata. streamChunks() revalidates the preparation, reads exactly the prepared range, and closes the source stream even when iteration ends early.

Durable local file queue

The queue is intentionally direct-local: it uses typed opaque leases, stale-worker rejection, strict versioned state, locking, and crash-safe persistence. It is not a distributed broker.

For distributed deployments, let the host framework own a shared broker and use Pathwise inside workers. Separate local disks hold separate queues; network-mounted queue files are outside the supported contract. Pass shared storage keys and make handlers safe to retry. See the documentation's Queue guide for deployment and lease limits.

Optional borrowed Runwire 2.1.1 integration

Runwire is an optional host runtime, pinned to 2.1.1 for integration development and suggested for deployments using the bridge. Normal Pathwise use does not instantiate or activate Runwire. The host owns its runtime, request, scope and cancellation.

The same execution object may be explicitly forwarded through intermediary services. RunwireExecutionContext::iterateChecksums() keeps the static ChecksumIndexer API unchanged and checks cancellation between completed file hashes; a single native hash remains synchronous. Bind separately inside newly created Fibers; bindings never implicitly inherit. Calls that return lazy generators must be consumed inside the scoped callback. Checkpoints validate the live request/deadline and optionally yield only inside a supplied, capable Runwire task. Blocking adapter operations, native subprocesses, arbitrary movers and filesystem calls remain synchronous; no owned cancellation source, scheduler or host lifecycle is introduced. Cancellation is checked before publication where Pathwise has a safe boundary; successfully committed publications are not retroactively reported as cancelled.

SafeFileWriter::withRunwire() makes lock retry delays cooperative when the passed scope supports coroutines. FileWatcher::watch(..., execution: $execution) uses the same borrowed context for polling intervals. Both preserve synchronous waits when the capability or context is unavailable. Waits honor the host request and scope deadlines without cancelling or closing either. ZIP extraction checkpoints each bounded 64 KiB copy and checks before publication and transaction commit; cancellation rolls back replacements and removes owned staging files.

Security model

Pathwise 4 includes explicit controls for:

Generic application use of NativeCommandRunner is deprecated as of 4.1; application process work belongs to the host runtime. Pathwise 4.2 adds optional integration with Runwire 2.1.1 through a passed execution context. Pathwise does not own host schedulers, worker lifecycles or process managers.

Security-sensitive behavior is fail-closed where a configured capability is required. Local/remote capabilities remain explicit rather than silently emulated. Pathwise makes filesystem artifacts safe to treat as data according to policy; it does not make arbitrary uploaded/source/binary content safe to execute. See the documentation's Trust Boundaries and Persistent Runtimes guide for the full ownership model.

Security

Do not disclose suspected vulnerabilities in a public issue, discussion or pull request. Follow GitHub private vulnerability reporting.

Pathwise is protected by PHPForge, which provides automated tests, static and taint analysis, dependency auditing, architecture checks and release-readiness gates. Automated controls do not replace responsible disclosure or manual review.


Made with ❤️ for the PHP community
MIT Licensed
Documentation • Security • Code of Conduct • Contributing
🗂️ Bug • Feature • Documentation • Question • CI failure
🔀 General • Bug fix • Feature • Refactor • Performance • Security & reliability • Documentation • Maintenance

All versions of pathwise with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
ext-fileinfo Version *
league/flysystem Version ^3.36
league/flysystem-local Version ^3.25.1
psr/log Version ^3.0.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package infocyph/pathwise contains the following files

Loading the files please wait ...