Download the PHP package pact-foundation/pact-php without Composer

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

logo

Pact PHP

Code Analysis & Test Coverage Status Compatibility Suite Packagist

Downloads Downloads This Month

Fast, easy and reliable testing for your APIs and microservices.


Pact PHP Demo


**Pact** is the de-facto API contract testing tool. Replace expensive and brittle end-to-end integration tests with fast, reliable and easy to debug unit tests. - ⚡ Lightning fast - 🎈 Effortless full-stack integration testing - from the front-end to the back-end - 🔌 Supports HTTP/REST and event-driven systems - 🛠️ Configurable mock server - 😌 Powerful matching rules prevents brittle tests - 🤝 Integrates with Pact Broker / PactFlow for powerful CI/CD workflows - 🔡 Supports 12+ languages **Why use Pact?** Contract testing with Pact lets you: - ⚡ Test locally - 🚀 Deploy faster - ⬇️ Reduce the lead time for change - 💰 Reduce the cost of API integration testing - 💥 Prevent breaking changes - 🔎 Understand your system usage - 📃 Document your APIs for free - 🗄 Remove the need for complex data fixtures - 🤷‍♂️ Reduce the reliance on complex test environments Watch our [series](https://www.youtube.com/playlist?list=PLwy9Bnco-IpfZ72VQ7hce8GicVZs7nm0i) on the problems with end-to-end integrated tests, and how contract testing can help.

----------

Documentation

This readme offers a basic introduction to the library. The full documentation for Pact PHP and the rest of the framework is available at https://docs.pact.io/.

Need Help

Installation

Looking for the previous stable 9.x.x release?

Requirements

PHP 8.1+ as of pact-php v10

Do Not Track

In order to get better statistics as to who is using Pact, we have an anonymous tracking event that triggers when Pact installs for the first time. The only things we track are your type of OS, and the version information for the package being installed. No PII data is sent as part of this request. You can disable tracking by setting the environment variable PACT_DO_NOT_TRACK=true:

----------

Usage

Writing a Consumer test

You can see (and run) the full version of this in ./examples/json, as well as other examples in the parent folder.

To run the examples

  1. Clone the repo [email protected]:pact-foundation/pact-php.git
  2. Go to the repo cd pact-php
  3. Install all dependencies composer install

Run a single example

composer run-example:json

Run all examples

composer run-examples

----------

Verifying a Provider

A provider test takes one or more pact files (contracts) as input, and Pact verifies that your provider adheres to the contract. In the simplest case, you can verify a provider as per below using a local pact file, although in practice you would usually use a Pact Broker to manage your contracts and CI/CD workflow.

It's best to run Pact verification tests as part of your unit testing suite, so you can readily access stubbing, IaC and other helpful tools.

----------

Compatibility

Versions | Version | Status | [Spec] Compatibility | PHP Compatibility | Install | | ------- | ---------- | -------------------- | ----------------- | ------------------ | | 10.x | Stable | 1, 1.1, 2, 3, 4 | ^8.1 | See [installation] | | 9.x | Stable | 1, 1.1, 2, 3\* | ^8.0 | [9xx] | | 8.x | Deprecated | 1, 1.1, 2, 3\* | ^7.4\|^8.0 | | | 7.x | Deprecated | 1, 1.1, 2, 3\* | ^7.3 | | | 6.x | Deprecated | 1, 1.1, 2, 3\* | ^7.2 | | | 5.x | Deprecated | 1, 1.1, 2, 3\* | ^7.1 | | | 4.x | Deprecated | 1, 1.1, 2 | ^7.1 | | | 3.x | Deprecated | 1, 1.1, 2 | ^7.0 | | | 2.x | Deprecated | 1, 1.1, 2 | >=7 | | | 1.x | Deprecated | 1, 1.1 | >=7 | | _\*_ v3 support is limited to the subset of functionality required to enable language inter-operable [Message support].
Supported Platforms | OS | Architecture | Supported | Pact-PHP Version | | ------- | ------------ | --------- | ---------------- | | OSX | x86_64 | ✅ | All | | Linux | x86_64 | ✅ | All | | OSX | arm64 | ✅ | 9.x + | | Linux | arm64 | ✅ | 9.x + | | Windows | x86_64 | ✅ | All | | Windows | x86 | ✅ | 9.x - | | Alpine | x86_64 | ✅ | All \* | | Alpine | arm64 | ✅ | All \* | _\*_ For 9.x and below, supported with a workaround [Ruby Standalone with Alpine].

Roadmap

The roadmap for Pact and Pact PHP is outlined on our main website.

Contributing

See CONTRIBUTING.



All versions of pact-php with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
ext-openssl Version *
ext-ffi Version *
ext-json Version *
composer/semver Version ^1.4.0|^3.2.0
symfony/process Version ^5.4|^6.0|^7.0
guzzlehttp/psr7 Version ^2.4.5
pact-foundation/composer-downloads-plugin Version ^2.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 pact-foundation/pact-php contains the following files

Loading the files please wait ....