lockfile again
This commit is contained in:
62
vendor/omnipay/common/UPGRADE.md
vendored
Normal file
62
vendor/omnipay/common/UPGRADE.md
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
## Upgrade apps from 2.x to 3.x
|
||||
- The `redirect()` method no longer calls `exit()` after sending the content. This is up to the developer now.
|
||||
- It is now possible to use `setAmountInteger(integer $value)` and `setMoney(Money $money)`
|
||||
- HTTPPlug is used. Guzzle will be installed when using `omnipay/omnipay`, otherwise you need to require your own implementation (see http://docs.php-http.org/en/latest/clients.html)
|
||||
- The package is renamed from `omnipay/omnipay` to `league/omnipay` and no longer installs all gateways by default.
|
||||
## Upgrade Gateways from 2.x to 3.x
|
||||
|
||||
The primary difference is the HTTP Client. We are now using HTTPlug (http://httplug.io/) but rely on our own interface.
|
||||
|
||||
### Breaking
|
||||
- Change typehint from Guzzle ClientInterface to `Omnipay\Common\Http\ClientInterface`
|
||||
- `$client->get('..')`/`$client->post('..')` etc are removed, you can call `$client->request('GET', '')`.
|
||||
- No need to call `$request->send()`, requests are sent directly.
|
||||
- Instead of `$client->createRequest(..)` you can create+send the request directly with `$client->request(..)`.
|
||||
- When sending a JSON body, convert the body to a string with `json_encode()` and set the correct Content-Type.
|
||||
- The response is a PSR-7 Response object. You can call `$response->getBody()->getContents()` to get the body as a string.
|
||||
- `$response->json()` and `$response->xml()` are gone, but you can implement the logic directly.
|
||||
- An HTTP Client is no longer added by default by `omnipay/common`, but `omnipay/omnipay` will add Guzzle.
|
||||
Gateways should not rely on Guzzle or other clients directly.
|
||||
- `$body` should be a string (eg. `http_build_query($data)` or `json_encode($data)` instead of just `$data`).
|
||||
- The `$headers` parameters should be an `array` (not `null`, but can be empty)
|
||||
|
||||
Examples:
|
||||
```php
|
||||
// V2 XML:
|
||||
$response = $this->httpClient->post($this->endpoint, null, $data)->send();
|
||||
$result = $httpResponse->xml();
|
||||
|
||||
// V3 XML:
|
||||
$response = $this->httpClient->request('POST', $this->endpoint, [], http_build_query($data));
|
||||
$result = simplexml_load_string($httpResponse->getBody()->getContents());
|
||||
```
|
||||
|
||||
```php
|
||||
// Example JSON request:
|
||||
|
||||
$response = $this->httpClient->request('POST', $this->endpoint, [
|
||||
'Accept' => 'application/json',
|
||||
'Content-Type' => 'application/json',
|
||||
], json_encode($data));
|
||||
|
||||
$result = json_decode($response->getBody()->getContents(), true);
|
||||
```
|
||||
|
||||
#### Testing
|
||||
|
||||
PHPUnit is upgraded to PHPUnit 6. Common issues:
|
||||
|
||||
- `setExpectedException()` is removed
|
||||
```php
|
||||
// PHPUnit 5:
|
||||
$this->setExpectedException($class, $message);
|
||||
|
||||
// PHPUnit 6:
|
||||
$this->expectException($class);
|
||||
$this->expectExceptionMessage($message);
|
||||
```
|
||||
|
||||
- Tests that do not perform any assertions, will be marked as risky. This can be avoided by annotating them with ` @doesNotPerformAssertions`
|
||||
|
||||
- You should remove the `Mockery\Adapter\Phpunit\TestListener` in phpunit.xml.dist
|
||||
|
||||
Reference in New Issue
Block a user