Вход Регистрация
Файл: payment/pay/qiwi/sdk/vendor/qiwi/bill-payments-php-sdk/src/BillPaymentsException.php
Строк: 119
<?php
/**
 * BillPayments.php
 *
 * @package   QiwiApi
 * @author    Yaroslav <yaroslav@wannabe.pro>
 * @copyright 2019 (c) QIWI JSC
 * @license   MIT https://raw.githubusercontent.com/QIWI-API/bill-payments-php-sdk/master/LICENSE
 */

namespace QiwiApi;

use 
CurlCurl;
use 
Exception;
use 
Throwable;

/**
 * Exception of API request.
 *
 * @property Curl $curl The request is get-only.
 */
class BillPaymentsException extends Exception
{
    
/**
     * The request.
     *
     * @var Curl
     */
    
protected $internalCurl;


    
/**
     * BillPaymentsException constructor.
     *
     * @param Curl|null      $curl     The request.
     * @param string         $message  The error message.
     * @param int            $code     The error code.
     * @param Throwable|null $previous The previous error
     */
    
public function __construct(Curl $curl=null$message=""$code=0Throwable $previous=null)
    {
        
$this->internalCurl $curl;
        if (
true === isset($curl)) {
            if (
true === empty($message)) {
                
//phpcs:disable Squiz.NamingConventions.ValidVariableName -- Because dependency has incompatible coding style.
                
$message $curl->error_message;
                
//phpcs:enable Squiz.NamingConventions.ValidVariableName
            
}

            if (
$code === 0) {
                
//phpcs:disable Squiz.NamingConventions.ValidVariableName -- Because dependency has incompatible coding style.
                
$code $curl->error_code;
                
//phpcs:enable Squiz.NamingConventions.ValidVariableName
            
}
        }

        
parent::__construct($message$code$previous);

    }
//end __construct()


    /**
     * Setter.
     *
     * @param string $name  The property name.
     * @param mixed  $value The property value.
     *
     * @return Curl|null
     *
     * @throws Exception
     */
    
public function __set($name$value)
    {
        switch (
$name) {
        case 
'curl':
            throw new 
Exception('Not acceptable property '.$name.'.');
        default:
            throw new 
Exception('Undefined property '.$name.'.');
        }

    }
//end __set()


    /**
     * Getter.
     *
     * @param string $name The property name.
     *
     * @return mixed The property value.
     *
     * @throws Exception Throw on unexpected property get.
     */
    
public function __get($name)
    {
        switch (
$name) {
        case 
'curl':
            return 
$this->internalCurl;
        default:
            throw new 
Exception('Undefined property '.$name.'.');
        }

    }
//end __get()


    /**
     * Checker.
     *
     * @param string $name The property name.
     *
     * @return bool Property set or not.
     *
     * @throws Exception Throw on unexpected property check
     */
    
public function __isset($name)
    {
        switch (
$name) {
        case 
'curl':
            return isset(
$this->internalCurl);
        default:
            return 
false;
        }

    }
//end __isset()


}//end class
Онлайн: 0
Реклама