Download the PHP package kinetis/storage without Composer

On this page you can find all versions of the php package kinetis/storage. 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 storage

kinetis/storage
File storage for Kinetis, built on League\Flysystem

Packagist Version Packagist Downloads PHP Version License CI


Part of Kinetis, a non-blocking PHP framework for API-first applications, developed in the kinetis-dev/kinetis monorepo.

Read, write, delete, and list files against League\Flysystem's FilesystemOperator interface — swappable to a different backend with no application-code changes. Local storage is Kinetis's own backend, Amp\File-backed rather than Flysystem's own local adapter, so a driver call suspends the calling Fiber instead of blocking the whole worker process. readStream() buffers the whole object into a php://temp resource; writeStream() transfers the caller's own resource in bounded chunks, reading it with PHP's native stream functions, whose reads block the thread whenever they reach a disk. Remote backends (S3, etc.) live in the separate kinetis/storage-s3.

Every path is confined to FILESYSTEM_ROOT before it becomes a filesystem location — a .. segment, a control byte or a backslash is refused with no filesystem call made, on both operands of a move() or a copy(), and so is a write whose destination names the root itself. write(), writeStream() and copy() build the new file in a private directory beside the destination and rename it into place once its stored length matches, so a reader sees the whole old file or the whole new one and a call that fails before that rename leaves the destination as it was. A failed publication reports the operation's declared League\Flysystem\UnableTo* failure, and a failure reported by the rename itself leaves the outcome unknown — the adapter reports what the call answered, and a lost answer is not a rename that did not happen. Retrying is safe where this caller is the only writer to that path; where writers compete for one, serializing ownership of it is the caller's to arrange, since every operation here replaces unconditionally. The staging directory's name is reserved: no listing reports one at any depth, a recursive deletion still removes it, and a path naming one is refused. Each operation reports a driver failure as the League\Flysystem\UnableTo* type its own interface declares, while a policy outcome (PathTraversalDetected, CorruptedPathDetected, SymbolicLinkEncountered, ReservedPathDetected, InvalidVisibilityProvided) and a programmer error both keep their own type. Symlinks are checked, with a disclosed limit that is not a security boundary against a concurrent writer: kinetis.dev/docs/storage.html.

Provides

Installing this package auto-registers, via extra.kinetis:

Nothing else. Named connections stay explicit application wiring.

Configuration

Read from the environment (or .env) via Kinetis\Config. Every key is scoped.

Key Default Purpose
FILESYSTEM_DRIVER (unset) local, or s3 (needs kinetis/storage-s3). Unset binds nothing; FilesystemFactory::fromConfig(), called directly, falls back to local.
FILESYSTEM_ROOT (required for local) Local disk root path. Must be non-empty; / is valid.

Scoped keys follow the named-connection convention — the connection name inserts after the first segment: FILESYSTEM_ROOT + uploads → FILESYSTEM_UPLOADS_ROOT. Full reference across every package: kinetis.dev/docs/config.html.

Installation

Requires PHP 8.4+ and kinetis/framework. Full documentation: kinetis.dev/docs/storage.html.

License

MIT — see LICENSE.


All versions of storage with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
kinetis/framework Version ^1.11.2
league/flysystem Version ^3.35.2
league/mime-type-detection Version ^1.17.0
amphp/file Version ^3.2.0
amphp/byte-stream Version ^2.1.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 kinetis/storage contains the following files

Loading the files please wait ...