PHP code example of pepakriz / phpstan-exception-rules
1. Go to this page and download the library: Download pepakriz/phpstan-exception-rules library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
pepakriz / phpstan-exception-rules example snippets
// no throws annotation
public function decide(int $arg): void
{
switch ($arg) {
case self::ONE:
$this->decided()
case self::TWO:
$this->decidedDifferently()
default:
throw new LogicException("Decision cannot be made for argument $arg because of ...");
}
}
/**
* @return mixed[]
*
* @throws PrintJobFailedException
*/
private function sendRequest(Request $request): array
{
try {
$response = $this->httpClient->send($request);
return Json::decode((string) $response->getBody(), Json::FORCE_ARRAY);
} catch (GuzzleException | JsonException $e) {
throw new PrintJobFailedException($e);
}
}
class PrintJobFailedException extends RuntimeException
{
public function __construct(Throwable $previous)
{
parent::__construct('Printing failed, remote printing service is down. Please try again later', $previous);
}
}
/**
* @throws FooRuntimeException false positive
*/
public function createFnFoo(int $arg): callable
{
return function () {
throw new FooRuntimeException();
};
}