Completed
Pull Request — master (#110)
by Tobias
07:30
created

functions.php ➔ safe_class_exists()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
nc 2
nop 2
dl 0
loc 8
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace GuzzleHttp\Psr7;
4
5
use Psr\Http\Message\MessageInterface;
6
use Psr\Http\Message\RequestInterface;
7
use Psr\Http\Message\ResponseInterface;
8
use Psr\Http\Message\ServerRequestInterface;
9
use Psr\Http\Message\StreamInterface;
10
use Psr\Http\Message\UriInterface;
11
12
/**
13
 * We want to do a "safe" version of PHP's "class_exists" because Magento has a bug
14
 * (or they call it a "feature"). Magento is throwing an exception if you do class_exists()
15
 * on a class that ends with "Factory" and if that file does not exits.
16
 *
17
 * This function will catch all potential exceptions and make sure it returns a boolean.
18
 *
19
 * @param string $class
20
 * @param boolean $autoload
21
 *
22
 * @return boolean
23
 */
24
function safe_class_exists($class, $autoload = true)
25
{
26
    try {
27
        return class_exists($class, $autoload);
28
    } catch (\Exception $e) {
29
        return false;
30
    }
31
}
32