Download the PHP package danack/params without Composer

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

Library renamed to TypeSpec

So won't be any activity here.

Params

A framework agnostic library for validating input parameters.

Build Status

Actions Status

Installation

TL:DR - Using in an application

This library allows you to define a set of rules that define the expected input parameters, and then validate them.

As an example, this is what the code looks like in a controller for retrieving a list of articles:

The above example will throw a ValidationException with a list of all the validation problems if there are any.

Alternatively you can have the parameters and list of errors returned as tuple.

Under the hood, basic usage

Given a set of rules, the library will extract the appropriate values from a 'variable map' and validate that the values meet the defined rules:

That code will extract the 'limit' and 'offset values from the variable map and check that the limit is an integer between 0 and 100, and that offset is either not set, or must be an integer between 0 and 1,000,000.

If there are any validation problems a ValidationException will be thrown. The validation problems can be retrieved from ValidationException::getValidationProblems.

Under the hood, basic usage without exceptions

Alternatively, you can avoid using exceptions for flow control:

Tests

We have several tools that are run to improve code quality. Please run sh runTests.sh to run them all.

Pull requests should have full unit test coverage. Preferably also full mutation coverage through infection.

Related info

Json pointers - https://tools.ietf.org/html/rfc6901 JSON Patch - https://tools.ietf.org/html/rfc6902

Future work

Support Uri fragment encoding on paths

Parameter location

Some people care whether a parameter is in the query string or body. This library currently doesn't support differentiating them.

TODO


All versions of params with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
ext-mbstring Version *
danack/var-map Version ^0.6.1
danack/json-safe Version ^0.1.0
laminas/laminas-diactoros Version ^2.6
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 danack/params contains the following files

Loading the files please wait ....