mirror of
https://github.com/standardebooks/web.git
synced 2025-07-09 16:20:27 -04:00
Add Safe PHP functions
This commit is contained in:
parent
04a956886a
commit
58cc098058
260 changed files with 49458 additions and 45 deletions
32
vendor/thecodingmachine/phpstan-safe-rule/.travis.yml
vendored
Normal file
32
vendor/thecodingmachine/phpstan-safe-rule/.travis.yml
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
language: php
|
||||
sudo: false
|
||||
php:
|
||||
- 7.1
|
||||
- 7.2
|
||||
- 7.3
|
||||
env:
|
||||
global:
|
||||
# We need to prefer source to get PHPStan test directory. Otherwise, it is removed from ZIP
|
||||
- DEFAULT_COMPOSER_FLAGS="--no-interaction --no-progress --optimize-autoloader --prefer-source"
|
||||
- TASK_TESTS=1
|
||||
- TASK_TESTS_COVERAGE=0
|
||||
- TASK_CS=1
|
||||
- TASK_SCA=0
|
||||
matrix:
|
||||
- COMPOSER_FLAGS="--prefer-lowest"
|
||||
- COMPOSER_FLAGS=""
|
||||
cache:
|
||||
directories:
|
||||
- "$HOME/.composer/cache"
|
||||
before_install:
|
||||
- travis_retry composer global require $DEFAULT_COMPOSER_FLAGS hirak/prestissimo
|
||||
install:
|
||||
- travis_retry composer update $DEFAULT_COMPOSER_FLAGS $COMPOSER_FLAGS
|
||||
- composer info -D | sort
|
||||
- mkdir tmp
|
||||
script:
|
||||
- vendor/bin/phpunit --verbose;
|
||||
- composer phpstan
|
||||
- composer cs-check
|
||||
after_success:
|
||||
- vendor/bin/coveralls -v
|
16
vendor/thecodingmachine/phpstan-safe-rule/README.md
vendored
Normal file
16
vendor/thecodingmachine/phpstan-safe-rule/README.md
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
[](https://packagist.org/packages/thecodingmachine/phpstan-safe-rule)
|
||||
[](https://packagist.org/packages/thecodingmachine/phpstan-safe-rule)
|
||||
[](https://packagist.org/packages/thecodingmachine/phpstan-safe-rule)
|
||||
[](https://packagist.org/packages/thecodingmachine/phpstan-safe-rule)
|
||||
[](https://travis-ci.org/thecodingmachine/phpstan-safe-rule)
|
||||
[](https://coveralls.io/github/thecodingmachine/phpstan-safe-rule?branch=master)
|
||||
|
||||
|
||||
PHPStan rules for thecodingmachine/safe
|
||||
=======================================
|
||||
|
||||
The [thecodingmachine/safe](https://github.com/thecodingmachine/safe) package provides a set of core PHP functions rewritten to throw exceptions instead of returning `false` when an error is encountered.
|
||||
|
||||
This PHPStan rule will help you detect unsafe function call and will propose you to use the `thecodingmachine/safe` variant instead.
|
||||
|
||||
Please read [thecodingmachine/safe documentation](https://github.com/thecodingmachine/safe) for details about installation and usage.
|
44
vendor/thecodingmachine/phpstan-safe-rule/composer.json
vendored
Normal file
44
vendor/thecodingmachine/phpstan-safe-rule/composer.json
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"name": "thecodingmachine/phpstan-safe-rule",
|
||||
"description": "A PHPStan rule to detect safety issues. Must be used in conjunction with thecodingmachine/safe",
|
||||
"type": "library",
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "David Négrier",
|
||||
"email": "d.negrier@thecodingmachine.com"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^7.1",
|
||||
"phpstan/phpstan": "^0.10 | ^0.11",
|
||||
"thecodingmachine/safe": "^0.1.11"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^7.5.2",
|
||||
"php-coveralls/php-coveralls": "^2.1",
|
||||
"squizlabs/php_codesniffer": "^3.4"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"TheCodingMachine\\Safe\\PHPStan\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"TheCodingMachine\\Safe\\PHPStan\\": "tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"phpstan": "phpstan analyse src -c phpstan.neon --level=7 --no-progress -vvv",
|
||||
"cs-fix": "phpcbf",
|
||||
"cs-check": "phpcs"
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "0.1-dev"
|
||||
}
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
}
|
21
vendor/thecodingmachine/phpstan-safe-rule/phpcs.xml.dist
vendored
Normal file
21
vendor/thecodingmachine/phpstan-safe-rule/phpcs.xml.dist
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0"?>
|
||||
<ruleset name="Expressive Skeleton coding standard">
|
||||
<description>Expressive Skeleton coding standard</description>
|
||||
|
||||
<!-- display progress -->
|
||||
<arg value="p"/>
|
||||
<arg name="colors"/>
|
||||
|
||||
<!-- inherit rules from: -->
|
||||
<rule ref="PSR2"/>
|
||||
|
||||
<!-- Paths to check -->
|
||||
<file>src</file>
|
||||
|
||||
<rule ref="Generic.Files.LineLength">
|
||||
<properties>
|
||||
<property name="lineLimit" value="300"/>
|
||||
<property name="absoluteLineLimit" value="500"/>
|
||||
</properties>
|
||||
</rule>
|
||||
</ruleset>
|
9
vendor/thecodingmachine/phpstan-safe-rule/phpstan-safe-rule.neon
vendored
Normal file
9
vendor/thecodingmachine/phpstan-safe-rule/phpstan-safe-rule.neon
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
services:
|
||||
-
|
||||
class: TheCodingMachine\Safe\PHPStan\Rules\UseSafeFunctionsRule
|
||||
tags:
|
||||
- phpstan.rules.rule
|
||||
-
|
||||
class: TheCodingMachine\Safe\PHPStan\Type\Php\ReplaceSafeFunctionsDynamicReturnTypeExtension
|
||||
tags:
|
||||
- phpstan.broker.dynamicFunctionReturnTypeExtension
|
4
vendor/thecodingmachine/phpstan-safe-rule/phpstan.neon
vendored
Normal file
4
vendor/thecodingmachine/phpstan-safe-rule/phpstan.neon
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
parameters:
|
||||
ignoreErrors:
|
||||
includes:
|
||||
- phpstan-safe-rule.neon
|
36
vendor/thecodingmachine/phpstan-safe-rule/phpunit.xml.dist
vendored
Normal file
36
vendor/thecodingmachine/phpstan-safe-rule/phpunit.xml.dist
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
<phpunit
|
||||
bootstrap="tests/bootstrap.php"
|
||||
colors="true"
|
||||
backupGlobals="false"
|
||||
backupStaticAttributes="false"
|
||||
beStrictAboutChangesToGlobalState="true"
|
||||
beStrictAboutOutputDuringTests="true"
|
||||
beStrictAboutTestsThatDoNotTestAnything="true"
|
||||
beStrictAboutTodoAnnotatedTests="true"
|
||||
failOnRisky="true"
|
||||
failOnWarning="true"
|
||||
convertErrorsToExceptions="true"
|
||||
convertNoticesToExceptions="true"
|
||||
convertWarningsToExceptions="true"
|
||||
>
|
||||
<testsuites>
|
||||
<testsuite name="Test suite">
|
||||
<directory>./tests/</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<filter>
|
||||
<whitelist>
|
||||
<directory suffix=".php">./src</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
<logging>
|
||||
<log
|
||||
type="coverage-text"
|
||||
target="php://stdout"
|
||||
showUncoveredFiles="true"
|
||||
showOnlySummary="true"
|
||||
/>
|
||||
<log type="coverage-html" target="build/coverage"/>
|
||||
<log type="coverage-clover" target="build/logs/clover.xml"/>
|
||||
</logging>
|
||||
</phpunit>
|
43
vendor/thecodingmachine/phpstan-safe-rule/src/Rules/UseSafeFunctionsRule.php
vendored
Normal file
43
vendor/thecodingmachine/phpstan-safe-rule/src/Rules/UseSafeFunctionsRule.php
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
<?php
|
||||
|
||||
|
||||
namespace TheCodingMachine\Safe\PHPStan\Rules;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PHPStan\Analyser\Scope;
|
||||
use PHPStan\Reflection\FunctionReflection;
|
||||
use PHPStan\Reflection\MethodReflection;
|
||||
use PHPStan\Rules\Rule;
|
||||
use PHPStan\ShouldNotHappenException;
|
||||
use TheCodingMachine\Safe\PHPStan\Utils\FunctionListLoader;
|
||||
|
||||
/**
|
||||
* This rule checks that no superglobals are used in code.
|
||||
*/
|
||||
class UseSafeFunctionsRule implements Rule
|
||||
{
|
||||
public function getNodeType(): string
|
||||
{
|
||||
return Node\Expr\FuncCall::class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Node\Expr\FuncCall $node
|
||||
* @param \PHPStan\Analyser\Scope $scope
|
||||
* @return string[]
|
||||
*/
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (!$node->name instanceof Node\Name) {
|
||||
return [];
|
||||
}
|
||||
$functionName = $node->name->toString();
|
||||
$unsafeFunctions = FunctionListLoader::getFunctionList();
|
||||
|
||||
if (isset($unsafeFunctions[$functionName])) {
|
||||
return ["Function $functionName is unsafe to use. It can return FALSE instead of throwing an exception. Please add 'use function Safe\\$functionName;' at the beginning of the file to use the variant provided by the 'thecodingmachine/safe' library."];
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
<?php declare(strict_types = 1);
|
||||
|
||||
|
||||
namespace TheCodingMachine\Safe\PHPStan\Type\Php;
|
||||
|
||||
use PhpParser\Node\Expr\FuncCall;
|
||||
use PHPStan\Analyser\Scope;
|
||||
use PHPStan\Reflection\FunctionReflection;
|
||||
use PHPStan\Reflection\ParametersAcceptorSelector;
|
||||
use PHPStan\Type\ArrayType;
|
||||
use PHPStan\Type\DynamicFunctionReturnTypeExtension;
|
||||
use PHPStan\Type\MixedType;
|
||||
use PHPStan\Type\StringType;
|
||||
use PHPStan\Type\Type;
|
||||
use PHPStan\Type\TypeCombinator;
|
||||
use PHPStan\Type\TypeUtils;
|
||||
|
||||
class ReplaceSafeFunctionsDynamicReturnTypeExtension implements DynamicFunctionReturnTypeExtension
|
||||
{
|
||||
|
||||
/** @var array<string, int> */
|
||||
private $functions = [
|
||||
'Safe\preg_replace' => 2,
|
||||
];
|
||||
|
||||
public function isFunctionSupported(FunctionReflection $functionReflection): bool
|
||||
{
|
||||
return array_key_exists($functionReflection->getName(), $this->functions);
|
||||
}
|
||||
|
||||
public function getTypeFromFunctionCall(
|
||||
FunctionReflection $functionReflection,
|
||||
FuncCall $functionCall,
|
||||
Scope $scope
|
||||
): Type {
|
||||
$type = $this->getPreliminarilyResolvedTypeFromFunctionCall($functionReflection, $functionCall, $scope);
|
||||
|
||||
$possibleTypes = ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
|
||||
|
||||
if (TypeCombinator::containsNull($possibleTypes)) {
|
||||
$type = TypeCombinator::addNull($type);
|
||||
}
|
||||
|
||||
return $type;
|
||||
}
|
||||
|
||||
private function getPreliminarilyResolvedTypeFromFunctionCall(
|
||||
FunctionReflection $functionReflection,
|
||||
FuncCall $functionCall,
|
||||
Scope $scope
|
||||
): Type {
|
||||
$argumentPosition = $this->functions[$functionReflection->getName()];
|
||||
if (count($functionCall->args) <= $argumentPosition) {
|
||||
return ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
|
||||
}
|
||||
|
||||
$subjectArgumentType = $scope->getType($functionCall->args[$argumentPosition]->value);
|
||||
$defaultReturnType = ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
|
||||
if ($subjectArgumentType instanceof MixedType) {
|
||||
return TypeUtils::toBenevolentUnion($defaultReturnType);
|
||||
}
|
||||
$stringType = new StringType();
|
||||
$arrayType = new ArrayType(new MixedType(), new MixedType());
|
||||
|
||||
$isStringSuperType = $stringType->isSuperTypeOf($subjectArgumentType);
|
||||
$isArraySuperType = $arrayType->isSuperTypeOf($subjectArgumentType);
|
||||
$compareSuperTypes = $isStringSuperType->compareTo($isArraySuperType);
|
||||
if ($compareSuperTypes === $isStringSuperType) {
|
||||
return $stringType;
|
||||
} elseif ($compareSuperTypes === $isArraySuperType) {
|
||||
if ($subjectArgumentType instanceof ArrayType) {
|
||||
return $subjectArgumentType->generalizeValues();
|
||||
}
|
||||
return $subjectArgumentType;
|
||||
}
|
||||
|
||||
return $defaultReturnType;
|
||||
}
|
||||
}
|
32
vendor/thecodingmachine/phpstan-safe-rule/src/Utils/FunctionListLoader.php
vendored
Normal file
32
vendor/thecodingmachine/phpstan-safe-rule/src/Utils/FunctionListLoader.php
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
|
||||
namespace TheCodingMachine\Safe\PHPStan\Utils;
|
||||
|
||||
use PHPStan\Analyser\Scope;
|
||||
use PHPStan\Reflection\FunctionReflection;
|
||||
use PHPStan\Reflection\MethodReflection;
|
||||
|
||||
class FunctionListLoader
|
||||
{
|
||||
private static $functions;
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getFunctionList(): array
|
||||
{
|
||||
if (self::$functions === null) {
|
||||
if (\file_exists(__DIR__.'/../../../safe/generated/functionsList.php')) {
|
||||
$functions = require __DIR__.'/../../../safe/generated/functionsList.php';
|
||||
} elseif (\file_exists(__DIR__.'/../../vendor/thecodingmachine/safe/generated/functionsList.php')) {
|
||||
$functions = require __DIR__.'/../../vendor/thecodingmachine/safe/generated/functionsList.php';
|
||||
} else {
|
||||
throw new \RuntimeException('Could not find thecodingmachine/safe\'s functionsList.php file.');
|
||||
}
|
||||
// Let's index these functions by their name
|
||||
self::$functions = \Safe\array_combine($functions, $functions);
|
||||
}
|
||||
return self::$functions;
|
||||
}
|
||||
}
|
42
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/CallMethodRuleTest.php
vendored
Normal file
42
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/CallMethodRuleTest.php
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace TheCodingMachine\Safe\PHPStan\Rules;
|
||||
|
||||
use PHPStan\Rules\FunctionCallParametersCheck;
|
||||
use PHPStan\Rules\Methods\CallMethodsRule;
|
||||
use PHPStan\Rules\Rule;
|
||||
use PHPStan\Rules\RuleLevelHelper;
|
||||
use PHPStan\Testing\RuleTestCase;
|
||||
use TheCodingMachine\Safe\PHPStan\Type\Php\ReplaceSafeFunctionsDynamicReturnTypeExtension;
|
||||
|
||||
class CallMethodRuleTest extends RuleTestCase
|
||||
{
|
||||
protected function getRule(): Rule
|
||||
{
|
||||
$broker = $this->createBroker();
|
||||
$ruleLevelHelper = new RuleLevelHelper($broker, true, true, true);
|
||||
return new CallMethodsRule(
|
||||
$broker,
|
||||
new FunctionCallParametersCheck($ruleLevelHelper, true, true),
|
||||
$ruleLevelHelper,
|
||||
true,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
public function testSafePregReplace()
|
||||
{
|
||||
// FIXME: this rule actually runs code but will always return no error because the rule executed is not the correct one.
|
||||
// This provides code coverage but assert is not ok.
|
||||
$this->analyse([__DIR__ . '/data/safe_pregreplace.php'], []);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return \PHPStan\Type\DynamicFunctionReturnTypeExtension[]
|
||||
*/
|
||||
public function getDynamicFunctionReturnTypeExtensions(): array
|
||||
{
|
||||
return [new ReplaceSafeFunctionsDynamicReturnTypeExtension()];
|
||||
}
|
||||
}
|
34
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/UseSafeFunctionsRuleTest.php
vendored
Normal file
34
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/UseSafeFunctionsRuleTest.php
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
namespace TheCodingMachine\Safe\PHPStan\Rules;
|
||||
|
||||
use PHPStan\Testing\RuleTestCase;
|
||||
use TheCodingMachine\Safe\PHPStan\Type\Php\ReplaceSafeFunctionsDynamicReturnTypeExtension;
|
||||
|
||||
class UseSafeFunctionsRuleTest extends RuleTestCase
|
||||
{
|
||||
protected function getRule(): \PHPStan\Rules\Rule
|
||||
{
|
||||
return new UseSafeFunctionsRule();
|
||||
}
|
||||
|
||||
public function testCatch()
|
||||
{
|
||||
$this->analyse([__DIR__ . '/data/fopen.php'], [
|
||||
[
|
||||
"Function fopen is unsafe to use. It can return FALSE instead of throwing an exception. Please add 'use function Safe\\fopen;' at the beginning of the file to use the variant provided by the 'thecodingmachine/safe' library.",
|
||||
4,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function testNoCatchSafe()
|
||||
{
|
||||
$this->analyse([__DIR__ . '/data/safe_fopen.php'], []);
|
||||
}
|
||||
|
||||
public function testExprCall()
|
||||
{
|
||||
$this->analyse([__DIR__ . '/data/undirect_call.php'], []);
|
||||
}
|
||||
}
|
5
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/data/fopen.php
vendored
Normal file
5
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/data/fopen.php
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
|
||||
function foo() {
|
||||
$fp = fopen('foobar', 'r');
|
||||
}
|
6
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/data/safe_fopen.php
vendored
Normal file
6
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/data/safe_fopen.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
use function Safe\fopen;
|
||||
|
||||
function foo() {
|
||||
$fp = fopen('foobar', 'r');
|
||||
}
|
7
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/data/safe_pregreplace.php
vendored
Normal file
7
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/data/safe_pregreplace.php
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
use function Safe\preg_replace;
|
||||
|
||||
$x = preg_replace('/foo/', 'bar', 'baz');
|
||||
$y = stripos($x, 'foo');
|
||||
|
||||
$x = preg_replace(['/foo/'], ['bar'], ['baz']);
|
5
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/data/undirect_call.php
vendored
Normal file
5
vendor/thecodingmachine/phpstan-safe-rule/tests/Rules/data/undirect_call.php
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
function foo() {
|
||||
$toto = 'fopen';
|
||||
$toto('foobar', 'r');
|
||||
}
|
15
vendor/thecodingmachine/phpstan-safe-rule/tests/Utils/FunctionListLoaderTest.php
vendored
Normal file
15
vendor/thecodingmachine/phpstan-safe-rule/tests/Utils/FunctionListLoaderTest.php
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
namespace TheCodingMachine\Safe\PHPStan\Utils;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class FunctionListLoaderTest extends TestCase
|
||||
{
|
||||
|
||||
public function testGetFunctionList()
|
||||
{
|
||||
$functions = FunctionListLoader::getFunctionList();
|
||||
$this->assertArrayHasKey('fopen', $functions);
|
||||
}
|
||||
}
|
33
vendor/thecodingmachine/phpstan-safe-rule/tests/bootstrap.php
vendored
Normal file
33
vendor/thecodingmachine/phpstan-safe-rule/tests/bootstrap.php
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?php declare(strict_types=1);
|
||||
|
||||
use Nette\Configurator;
|
||||
|
||||
require_once __DIR__ . '/../vendor/autoload.php';
|
||||
/*require_once __DIR__ . '/TestCase.php';
|
||||
require_once __DIR__ . '/PHPStan/Rules/AbstractRuleTest.php';
|
||||
require_once __DIR__ . '/PHPStan/Rules/AlwaysFailRule.php';
|
||||
require_once __DIR__ . '/PHPStan/Rules/DummyRule.php';*/
|
||||
|
||||
/*
|
||||
$rootDir = __DIR__ . '/..';
|
||||
$tmpDir = $rootDir . '/tmp';
|
||||
$confDir = $rootDir . '/vendor/phpstan/phpstan/conf';
|
||||
|
||||
$configurator = new Configurator();
|
||||
$configurator->defaultExtensions = [];
|
||||
$configurator->setDebugMode(true);
|
||||
$configurator->setTempDirectory($tmpDir);
|
||||
$configurator->addConfig($confDir . '/config.neon');
|
||||
$configurator->addConfig($confDir . '/config.level5.neon');
|
||||
$configurator->addParameters([
|
||||
'rootDir' => $rootDir,
|
||||
'tmpDir' => $tmpDir,
|
||||
'currentWorkingDirectory' => $rootDir,
|
||||
'cliArgumentsVariablesRegistered' => false,
|
||||
]);
|
||||
$container = $configurator->createContainer();
|
||||
|
||||
PHPStan\Testing\TestCase::setContainer($container);
|
||||
PHPStan\Type\TypeCombinator::setUnionTypesEnabled(true);
|
||||
require_once __DIR__ . '/phpstan-bootstrap.php';
|
||||
*/
|
4
vendor/thecodingmachine/phpstan-safe-rule/tests/phpstan-bootstrap.php
vendored
Normal file
4
vendor/thecodingmachine/phpstan-safe-rule/tests/phpstan-bootstrap.php
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?php declare(strict_types=1);
|
||||
|
||||
class_alias(\ReturnTypes\Foo::class, \ReturnTypes\FooAlias::class, true);
|
||||
class_alias(\TestAccessProperties\FooAccessProperties::class, \TestAccessProperties\FooAccessPropertiesAlias::class, true);
|
59
vendor/thecodingmachine/safe/.travis.yml
vendored
Normal file
59
vendor/thecodingmachine/safe/.travis.yml
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
language: php
|
||||
matrix:
|
||||
include:
|
||||
- php: 7.3
|
||||
env: PREFER_LOWEST=""
|
||||
- php: 7.2
|
||||
env: PREFER_LOWEST=""
|
||||
- php: 7.1
|
||||
env: PREFER_LOWEST=""
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- generator/doc/doc-en
|
||||
- vendor
|
||||
- generator/vendor
|
||||
- $HOME/.composer
|
||||
|
||||
before_script:
|
||||
- cd generator && composer install --no-interaction && cd ..
|
||||
- |
|
||||
if [ ! -d "generator/doc/doc-en/en" ]; then
|
||||
cd generator/doc
|
||||
svn co https://svn.php.net/repository/phpdoc/modules/doc-en doc-en
|
||||
cd ../..
|
||||
else
|
||||
cd generator/doc/doc-en
|
||||
svn update
|
||||
if [ $? -ne 0 ];
|
||||
then
|
||||
cd ..
|
||||
rm -rf doc-en
|
||||
svn co https://svn.php.net/repository/phpdoc/modules/doc-en doc-en
|
||||
cd doc-en
|
||||
fi
|
||||
cd ../../..
|
||||
fi
|
||||
- composer update
|
||||
|
||||
script:
|
||||
- cd generator && ./vendor/bin/phpunit && cd ..
|
||||
- cd generator && composer cs-check && cd ..
|
||||
- cd generator && composer phpstan && cd ..
|
||||
- composer dump-autoload
|
||||
- composer cs-check
|
||||
- composer phpstan
|
||||
# Now, let's regenerate all files and see if we obtain the same set of files as the ones commited:
|
||||
- cd generator && ./safe.php generate && cd ..
|
||||
- |
|
||||
if output=$(git status --porcelain) && [ -z "$output" ]; then
|
||||
# all is good
|
||||
echo "Generated files are the same as committed file: OK"
|
||||
else
|
||||
# Uncommitted changes
|
||||
echo "Generated files are different from commited files. Please run './safe.php generate' command and commit the results."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
after_script:
|
||||
- cd generator && travis_retry php vendor/bin/php-coveralls -v
|
38
vendor/thecodingmachine/safe/CONTRIBUTING.md
vendored
Normal file
38
vendor/thecodingmachine/safe/CONTRIBUTING.md
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
# Contributing
|
||||
|
||||
Safe-PHP code is generated automatically from the PHP doc.
|
||||
|
||||
## How to install Safe-PHP development environment
|
||||
|
||||
The first step is to download the PHP documentation project locally.
|
||||
You will need Subversion (svn) installed on your computer.
|
||||
|
||||
```bash
|
||||
$ cd generator/doc
|
||||
$ svn co https://svn.php.net/repository/phpdoc/modules/doc-en doc-en
|
||||
$ cd ../..
|
||||
```
|
||||
|
||||
At any point, if you want to update the documentation to the latest version, you can use:
|
||||
|
||||
```bash
|
||||
$ cd generator/doc/doc-en
|
||||
$ svn update
|
||||
```
|
||||
|
||||
### Generating the functions
|
||||
|
||||
Generating the functions can be done with a simple command.
|
||||
|
||||
```bash
|
||||
$ cd generator
|
||||
$ php ./safe.php generate
|
||||
```
|
||||
|
||||
### Submitting a PR
|
||||
|
||||
The continuous integration hooks will regenerate all the functions and check that the result is exactly what has been
|
||||
committed. Therefore, before submitting a PR, please:
|
||||
|
||||
- Perform a "svn update"
|
||||
- Regenerate the files using `php ./safe.php generate`
|
21
vendor/thecodingmachine/safe/LICENSE
vendored
Normal file
21
vendor/thecodingmachine/safe/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2018 TheCodingMachine
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
174
vendor/thecodingmachine/safe/README.md
vendored
Normal file
174
vendor/thecodingmachine/safe/README.md
vendored
Normal file
|
@ -0,0 +1,174 @@
|
|||
[](https://packagist.org/packages/thecodingmachine/safe)
|
||||
[](https://packagist.org/packages/thecodingmachine/safe)
|
||||
[](https://packagist.org/packages/thecodingmachine/safe)
|
||||
[](https://packagist.org/packages/thecodingmachine/safe)
|
||||
[](https://travis-ci.org/thecodingmachine/safe)
|
||||
[](https://coveralls.io/github/thecodingmachine/safe?branch=master)
|
||||
|
||||
Safe PHP
|
||||
========
|
||||
|
||||
**Work in progress**
|
||||
|
||||
A set of core PHP functions rewritten to throw exceptions instead of returning `false` when an error is encountered.
|
||||
|
||||
## The problem
|
||||
|
||||
Most PHP core functions were written before exception handling was added to the language. Therefore, most PHP functions
|
||||
do not throw exceptions. Instead, they return `false` in case of error.
|
||||
|
||||
But most of us are too lazy to check explicitly for every single return of every core PHP function.
|
||||
|
||||
```php
|
||||
// This code is incorrect. Twice.
|
||||
// "file_get_contents" can return false if the file does not exists
|
||||
// "json_decode" can return false if the file content is not valid JSON
|
||||
$content = file_get_contents('foobar.json');
|
||||
$foobar = json_decode($content);
|
||||
```
|
||||
|
||||
The correct version of this code would be:
|
||||
|
||||
```php
|
||||
$content = file_get_contents('foobar.json');
|
||||
if ($content === false) {
|
||||
throw new FileLoadingException('Could not load file foobar.json');
|
||||
}
|
||||
$foobar = json_decode($content);
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
throw new FileLoadingException('foobar.json does not contain valid JSON: '.json_last_error_msg());
|
||||
}
|
||||
```
|
||||
|
||||
Obviously, while this snippet is correct, it is less easy to read.
|
||||
|
||||
## The solution
|
||||
|
||||
Enter *thecodingmachine/safe* aka Safe-PHP.
|
||||
|
||||
Safe-PHP redeclares all core PHP functions. The new PHP functions act exactly as the old ones, except they
|
||||
throw exceptions properly when an error is encountered. The "safe" functions have the same name as the core PHP
|
||||
functions, except they are in the `Safe` namespace.
|
||||
|
||||
```php
|
||||
use function Safe\file_get_contents;
|
||||
use function Safe\json_decode;
|
||||
|
||||
// This code is both safe and simple!
|
||||
$content = file_get_contents('foobar.json');
|
||||
$foobar = json_decode($content);
|
||||
```
|
||||
|
||||
## PHPStan integration
|
||||
|
||||
> Yeah... but I must explicitly think about importing the "safe" variant of the function, for each and every file of my application.
|
||||
> I'm sure I will forget some "use function" statements!
|
||||
|
||||
Fear not! thecodingmachine/safe comes with a PHPStan rule.
|
||||
|
||||
Never heard of [PHPStan](https://github.com/phpstan/phpstan) before?
|
||||
Check it out, it's an amazing code analyzer for PHP.
|
||||
|
||||
Simply install the Safe rule in your PHPStan setup (explained in the "Installation" section) and PHPStan will let you know each time you are using an "unsafe" function.
|
||||
|
||||
The code below will trigger this warning:
|
||||
|
||||
```php
|
||||
$content = file_get_contents('foobar.json');
|
||||
```
|
||||
|
||||
> Function file_get_contents is unsafe to use. It can return FALSE instead of throwing an exception. Please add 'use function Safe\\file_get_contents;' at the beginning of the file to use the variant provided by the 'thecodingmachine/safe' library.
|
||||
|
||||
## Installation
|
||||
|
||||
Use composer to install Safe-PHP:
|
||||
|
||||
```bash
|
||||
$ composer require thecodingmachine/safe
|
||||
```
|
||||
|
||||
*Highly recommended*: install PHPStan and PHPStan extension:
|
||||
|
||||
```bash
|
||||
$ composer require --dev thecodingmachine/phpstan-safe-rule
|
||||
```
|
||||
|
||||
Now, edit your `phpstan.neon` file and add these rules:
|
||||
|
||||
```yml
|
||||
includes:
|
||||
- vendor/thecodingmachine/phpstan-safe-rule/phpstan-safe-rule.neon
|
||||
```
|
||||
|
||||
## Automated refactoring
|
||||
|
||||
You have a large legacy codebase and want to use "Safe-PHP" functions throughout your project? PHPStan will help you
|
||||
find these functions but changing the namespace of the functions one function at a time might be a tedious task.
|
||||
|
||||
Fortunately, Safe comes bundled with a "Rector" configuration file. [Rector](https://github.com/rectorphp/rector) is a command-line
|
||||
tool that performs instant refactoring of your application.
|
||||
|
||||
First, you need to install Rector:
|
||||
|
||||
```bash
|
||||
$ composer require --dev rector/rector ^0.3
|
||||
```
|
||||
|
||||
Now, you simply need to run Rector with this command:
|
||||
|
||||
```bash
|
||||
vendor/bin/rector process src/ --config vendor/thecodingmachine/safe/rector-migrate.yml
|
||||
```
|
||||
|
||||
*Note:* do not forget to replace "src/" with the path to your source directory.
|
||||
|
||||
**Important:** the refactoring only performs a "dumb" replacement of functions. It will not modify the way
|
||||
"false" return values are handled. So if your code was already performing error handling, you will have to deal
|
||||
with it manually.
|
||||
|
||||
Especially, you should look for error handling that was already performed, like:
|
||||
|
||||
```php
|
||||
if (!mkdir($dirPath)) {
|
||||
// Do something on error
|
||||
}
|
||||
```
|
||||
|
||||
This code will be refactored by Rector to:
|
||||
|
||||
```php
|
||||
if (!\Safe\mkdir($dirPath)) {
|
||||
// Do something on error
|
||||
}
|
||||
```
|
||||
|
||||
You should then (manually) refactor it to:
|
||||
|
||||
```php
|
||||
try {
|
||||
\Safe\mkdir($dirPath));
|
||||
} catch (\Safe\FilesystemException $e) {
|
||||
// Do something on error
|
||||
}
|
||||
```
|
||||
|
||||
## Performance impact
|
||||
|
||||
Safe is loading 1000+ functions from ~85 files on each request. Yet, the performance impact of this loading is quite low.
|
||||
|
||||
In case you worry, using Safe will "cost" you ~700µs on each request. The [performance section](performance/README.md)
|
||||
contains more information regarding the way we tested the performance impact of Safe.
|
||||
|
||||
## Work in progress
|
||||
|
||||
There are a number of pending issues [before releasing 1.0](https://github.com/thecodingmachine/safe/milestone/1)
|
||||
|
||||
## Learn more
|
||||
|
||||
Read [the release article on TheCodingMachine's blog](https://thecodingmachine.io/introducing-safe-php) if you want to
|
||||
learn more about what triggered the development of Safe-PHP.
|
||||
|
||||
## Contributing
|
||||
|
||||
The files that contain all the functions are auto-generated from the PHP doc.
|
||||
Read the [CONTRIBUTING.md](CONTRIBUTING.md) file to learn how to regenerate these files and to contribute to this library.
|
120
vendor/thecodingmachine/safe/composer.json
vendored
Normal file
120
vendor/thecodingmachine/safe/composer.json
vendored
Normal file
|
@ -0,0 +1,120 @@
|
|||
{
|
||||
"name": "thecodingmachine/safe",
|
||||
"description": "PHP core functions that throw exceptions instead of returning FALSE on error",
|
||||
"license": "MIT",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Safe\\": [
|
||||
"lib/",
|
||||
"generated/"
|
||||
]
|
||||
},
|
||||
"files": [
|
||||
"generated/apache.php",
|
||||
"generated/apc.php",
|
||||
"generated/apcu.php",
|
||||
"generated/array.php",
|
||||
"generated/bzip2.php",
|
||||
"generated/classobj.php",
|
||||
"generated/com.php",
|
||||
"generated/cubrid.php",
|
||||
"generated/curl.php",
|
||||
"generated/datetime.php",
|
||||
"generated/dir.php",
|
||||
"generated/eio.php",
|
||||
"generated/errorfunc.php",
|
||||
"generated/exec.php",
|
||||
"generated/fileinfo.php",
|
||||
"generated/filesystem.php",
|
||||
"generated/filter.php",
|
||||
"generated/fpm.php",
|
||||
"generated/ftp.php",
|
||||
"generated/funchand.php",
|
||||
"generated/gmp.php",
|
||||
"generated/gnupg.php",
|
||||
"generated/hash.php",
|
||||
"generated/ibase.php",
|
||||
"generated/ibmDb2.php",
|
||||
"generated/iconv.php",
|
||||
"generated/image.php",
|
||||
"generated/imap.php",
|
||||
"generated/info.php",
|
||||
"generated/ingres-ii.php",
|
||||
"generated/inotify.php",
|
||||
"generated/json.php",
|
||||
"generated/ldap.php",
|
||||
"generated/libevent.php",
|
||||
"generated/libxml.php",
|
||||
"generated/lzf.php",
|
||||
"generated/mailparse.php",
|
||||
"generated/mbstring.php",
|
||||
"generated/misc.php",
|
||||
"generated/msql.php",
|
||||
"generated/mssql.php",
|
||||
"generated/mysql.php",
|
||||
"generated/mysqli.php",
|
||||
"generated/mysqlndMs.php",
|
||||
"generated/mysqlndQc.php",
|
||||
"generated/network.php",
|
||||
"generated/oci8.php",
|
||||
"generated/opcache.php",
|
||||
"generated/openssl.php",
|
||||
"generated/outcontrol.php",
|
||||
"generated/password.php",
|
||||
"generated/pcntl.php",
|
||||
"generated/pcre.php",
|
||||
"generated/pdf.php",
|
||||
"generated/pgsql.php",
|
||||
"generated/posix.php",
|
||||
"generated/ps.php",
|
||||
"generated/pspell.php",
|
||||
"generated/readline.php",
|
||||
"generated/rrd.php",
|
||||
"generated/sem.php",
|
||||
"generated/session.php",
|
||||
"generated/shmop.php",
|
||||
"generated/simplexml.php",
|
||||
"generated/sockets.php",
|
||||
"generated/sodium.php",
|
||||
"generated/solr.php",
|
||||
"generated/spl.php",
|
||||
"generated/sqlsrv.php",
|
||||
"generated/ssdeep.php",
|
||||
"generated/ssh2.php",
|
||||
"generated/stats.php",
|
||||
"generated/stream.php",
|
||||
"generated/strings.php",
|
||||
"generated/swoole.php",
|
||||
"generated/uodbc.php",
|
||||
"generated/uopz.php",
|
||||
"generated/url.php",
|
||||
"generated/var.php",
|
||||
"generated/xdiff.php",
|
||||
"generated/xml.php",
|
||||
"generated/xmlrpc.php",
|
||||
"generated/yaml.php",
|
||||
"generated/yaz.php",
|
||||
"generated/zip.php",
|
||||
"generated/zlib.php",
|
||||
"lib/special_cases.php"
|
||||
]
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^0.10.3",
|
||||
"thecodingmachine/phpstan-strict-rules": "^0.10.3",
|
||||
"squizlabs/php_codesniffer": "^3.2"
|
||||
},
|
||||
"scripts": {
|
||||
"phpstan": "phpstan analyse lib -c phpstan.neon --level=7 --no-progress -vvv",
|
||||
"cs-fix": "phpcbf",
|
||||
"cs-check": "phpcs"
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "0.1-dev"
|
||||
}
|
||||
}
|
||||
}
|
0
vendor/thecodingmachine/safe/generated/Exceptions/.gitkeep
vendored
Normal file
0
vendor/thecodingmachine/safe/generated/Exceptions/.gitkeep
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ApacheException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ApacheException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ApacheException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ApcException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ApcException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ApcException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ApcuException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ApcuException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ApcuException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ArrayException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ArrayException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ArrayException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/Bzip2Exception.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/Bzip2Exception.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class Bzip2Exception extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ClassobjException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ClassobjException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ClassobjException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ComException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ComException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ComException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/CubridException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/CubridException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class CubridException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/DatetimeException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/DatetimeException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class DatetimeException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/DirException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/DirException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class DirException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/EioException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/EioException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class EioException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ErrorfuncException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ErrorfuncException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ErrorfuncException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ExecException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ExecException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ExecException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/FileinfoException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/FileinfoException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class FileinfoException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/FilesystemException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/FilesystemException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class FilesystemException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/FilterException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/FilterException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class FilterException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/FpmException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/FpmException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class FpmException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/FtpException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/FtpException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class FtpException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/FunchandException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/FunchandException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class FunchandException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/GmpException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/GmpException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class GmpException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/GnupgException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/GnupgException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class GnupgException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/HashException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/HashException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class HashException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/IbaseException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/IbaseException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class IbaseException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/IbmDb2Exception.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/IbmDb2Exception.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class IbmDb2Exception extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/IconvException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/IconvException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class IconvException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ImageException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ImageException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ImageException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ImapException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ImapException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ImapException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/InfoException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/InfoException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class InfoException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/IngresiiException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/IngresiiException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class IngresiiException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/InotifyException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/InotifyException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class InotifyException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/LdapException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/LdapException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class LdapException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/LibeventException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/LibeventException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class LibeventException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/LibxmlException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/LibxmlException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class LibxmlException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/LzfException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/LzfException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class LzfException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MailparseException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MailparseException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MailparseException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MbstringException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MbstringException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MbstringException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MiscException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MiscException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MiscException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MsqlException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MsqlException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MsqlException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MssqlException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MssqlException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MssqlException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MysqlException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MysqlException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MysqlException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MysqliException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MysqliException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MysqliException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MysqlndMsException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MysqlndMsException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MysqlndMsException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/MysqlndQcException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/MysqlndQcException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class MysqlndQcException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/NetworkException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/NetworkException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class NetworkException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/Oci8Exception.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/Oci8Exception.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class Oci8Exception extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/OpcacheException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/OpcacheException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class OpcacheException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/OpensslException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/OpensslException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class OpensslException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/OutcontrolException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/OutcontrolException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class OutcontrolException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/PasswordException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/PasswordException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class PasswordException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/PcntlException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/PcntlException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class PcntlException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/PdfException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/PdfException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class PdfException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/PgsqlException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/PgsqlException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class PgsqlException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/PosixException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/PosixException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class PosixException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/PsException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/PsException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class PsException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/PspellException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/PspellException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class PspellException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ReadlineException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ReadlineException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ReadlineException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/RrdException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/RrdException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class RrdException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SemException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SemException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SemException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SessionException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SessionException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SessionException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/ShmopException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/ShmopException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class ShmopException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SimplexmlException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SimplexmlException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SimplexmlException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SocketsException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SocketsException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SocketsException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SodiumException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SodiumException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SodiumException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SolrException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SolrException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SolrException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SplException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SplException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SplException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SqlsrvException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SqlsrvException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SqlsrvException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SsdeepException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SsdeepException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SsdeepException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/Ssh2Exception.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/Ssh2Exception.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class Ssh2Exception extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/StatsException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/StatsException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class StatsException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/StreamException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/StreamException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class StreamException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/StringsException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/StringsException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class StringsException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/SwooleException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/SwooleException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class SwooleException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/UodbcException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/UodbcException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class UodbcException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/UopzException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/UopzException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class UopzException extends AbstractSafeException
|
||||
{
|
||||
}
|
6
vendor/thecodingmachine/safe/generated/Exceptions/UrlException.php
vendored
Normal file
6
vendor/thecodingmachine/safe/generated/Exceptions/UrlException.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
namespace Safe\Exceptions;
|
||||
|
||||
class UrlException extends AbstractSafeException
|
||||
{
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue