Download the PHP package grazulex/php-semver-sieve without Composer

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

PHP SemVer Sieve

PHP SemVer Sieve **Universal semantic version range checking across all major package managers - powerful, fast, and dependency-free PHP package.** *A comprehensive library for evaluating version constraints from Composer, npm, PyPI, RubyGems, Maven, NuGet, Go modules, and more with a single unified API.* [![Latest Version](https://img.shields.io/packagist/v/grazulex/php-semver-sieve.svg?style=flat-square)](https://packagist.org/packages/grazulex/php-semver-sieve) [![Total Downloads](https://img.shields.io/packagist/dt/grazulex/php-semver-sieve.svg?style=flat-square)](https://packagist.org/packages/grazulex/php-semver-sieve) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](https://github.com/Grazulex/php-semver-sieve/blob/main/LICENSE.md) [![PHP Version](https://img.shields.io/badge/php-8.2%2B-blue.svg?style=flat-square)](https://php.net/) [![Tests](https://img.shields.io/github/actions/workflow/status/grazulex/php-semver-sieve/tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/grazulex/php-semver-sieve/actions) [![Static Analysis](https://img.shields.io/github/actions/workflow/status/grazulex/php-semver-sieve/static-analysis.yml?branch=main&label=phpstan&style=flat-square)](https://github.com/grazulex/php-semver-sieve/actions) [![Mutation Testing](https://img.shields.io/github/actions/workflow/status/grazulex/php-semver-sieve/mutation.yml?branch=main&label=mutation&style=flat-square)](https://github.com/grazulex/php-semver-sieve/actions)

๐Ÿš€ Overview

A powerful, universal PHP package for checking if version strings match version ranges across all major package managers.

๐ŸŽฏ One API to rule them all - Handle version constraints from Composer, npm, PyPI, RubyGems, Maven, NuGet, Go modules, and more!

โœจ Features

๐Ÿ“Š Project Stats

Installation

๐Ÿš€ Quick Start

๐ŸŽฏ Universal Package Manager Support

๐ŸŒŸ One API, All Ecosystems

๐Ÿ“š Dialect-Specific Features

๐Ÿ˜ Composer Dialect (PHP)

๐Ÿ“ฆ npm Dialect (JavaScript/Node.js)

๐Ÿ PyPI Dialect (Python)

๐Ÿ’Ž RubyGems Dialect (Ruby)

โ˜• Maven Dialect (Java)

๐Ÿ”ท NuGet Dialect (.NET)

๐Ÿน Go Modules Dialect

๐ŸŽฏ Generic SemVer Dialect

๐Ÿ“‹ Complete Syntax Reference

Syntax Example Dialects Description
Exact 1.2.3 All Exact version match
Comparators >=1.0, <2.0, !=1.5 All Greater/less than, not equal
Caret ^1.2.3 Composer, npm, Generic Compatible within major version
Tilde ~1.2.3 Composer, npm, Generic Compatible within minor version
Pessimistic ~> 1.2 RubyGems Ruby pessimistic constraint
Wildcards 1.2.*, 1.x, * Most Wildcard matching
X-Ranges 1.2.x, 1.x.x npm npm-style X-ranges
Hyphen Ranges 1.2 - 1.4 Generic, Composer Inclusive range
Interval [1.0,2.0), (1.0,2.0] Maven, NuGet Mathematical intervals
OR Logic ^1.0 \|\| ^2.0 Most Multiple range options
AND Logic >=1.0 <2.0 Most Combined constraints
Special Tags latest, next, beta npm Distribution tags
Workspace workspace:*, workspace:^1.0 npm Workspace protocol
Floating 1.2.*, 1.* NuGet Floating versions
Soft Req 1.0+ Maven Soft requirements
Qualifiers 1.0-SNAPSHOT, 1.0-RELEASE Maven Maven qualifiers
Compatible ~=1.2 PyPI PEP 440 compatible release
Arbitrary ===1.2.3 PyPI Arbitrary equality
v-prefix v1.2.3 Go Go module versions
4-segment 1.2.3.4 NuGet .NET revision numbers

๐Ÿ”ง Advanced Configuration

Configuration Options

Preset Configurations

๐ŸŽจ Custom Dialects & Extensions

Creating Custom Dialects

Real-World Custom Dialect Example

๐Ÿšจ Comprehensive Error Handling

๐Ÿ—๏ธ SOLID Architecture Deep Dive

Single Responsibility Principle (SRP)

Each class has one clear purpose:

Open/Closed Principle (OCP)

Liskov Substitution Principle (LSP)

Interface Segregation Principle (ISP)

Dependency Inversion Principle (DIP)

๐Ÿ“ˆ Performance & Benchmarks

Optimizations

Typical Performance

๐Ÿงช Testing & Quality Assurance

Test Coverage

Quality Tools

๐Ÿ’ผ Real-World Use Cases

๐Ÿ” Dependency Analysis Tools

๐Ÿ“ฆ Package Registry & Mirrors

๐Ÿš€ CI/CD Pipeline Integration

๐Ÿ”ง Version Range Intersection

๐ŸŒ Ecosystem Compatibility Matrix

Feature Generic Composer npm PyPI RubyGems Maven NuGet Go
Basic Comparisons โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Caret Ranges โœ… โœ… โœ… โŒ โŒ โŒ โŒ โŒ
Tilde Ranges โœ… โœ… โœ… โŒ โŒ โŒ โŒ โŒ
Pessimistic โŒ โŒ โŒ โŒ โœ… โŒ โŒ โŒ
Wildcards โœ… โœ… โœ… โŒ โŒ โŒ โœ… โŒ
X-Ranges โŒ โŒ โœ… โŒ โŒ โŒ โŒ โŒ
Interval Notation โŒ โŒ โŒ โŒ โŒ โœ… โœ… โŒ
Special Tags โŒ โŒ โœ… โŒ โŒ โŒ โŒ โŒ
4+ Segments โŒ โŒ โŒ โŒ โŒ โœ… โœ… โŒ
v-Prefix Required โŒ โŒ โŒ โŒ โŒ โŒ โŒ โœ…
Prerelease Support โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ…

๐Ÿ’ป Development & Contributing

๐Ÿ› ๏ธ Local Development Setup

๐Ÿงช Development Commands

๐Ÿ—๏ธ Project Structure

๐Ÿค Contributing

We welcome contributions! Here's how to get started:

๐Ÿš€ Quick Contribution Guide

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Write tests for your changes
  4. Run quality checks (composer quality)
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

๐ŸŽฏ Contribution Areas

๐Ÿ“ Coding Standards

๐Ÿงช Adding New Dialects

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ† Credits & Acknowledgments

๐Ÿ‘จโ€๐Ÿ’ป Author

Jean-Marc Strauven - Initial work and architecture

๐ŸŽฏ Inspiration & References

๐Ÿ—๏ธ Architecture Principles

๐Ÿ› ๏ธ Tools & Technologies


**๐Ÿ” PHP SemVer Sieve** - *Universal version range checking for the modern PHP ecosystem* [![Stars](https://img.shields.io/github/stars/Grazulex/php-semver-sieve?style=social)](https://github.com/Grazulex/php-semver-sieve) [![Forks](https://img.shields.io/github/forks/Grazulex/php-semver-sieve?style=social)](https://github.com/Grazulex/php-semver-sieve) [![Issues](https://img.shields.io/github/issues/Grazulex/php-semver-sieve)](https://github.com/Grazulex/php-semver-sieve/issues) Made with โค๏ธ for the PHP community

All versions of php-semver-sieve with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
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 grazulex/php-semver-sieve contains the following files

Loading the files please wait ....