laipower/wp-content/plugins/easy-digital-downloads/includes/utils/exceptions/class-attribute-not-found.php

46 lines
1.4 KiB
PHP

<?php
/**
* Attribute_Not_Found exception class
*
* @package EDD
* @subpackage Classes/Utilities
* @copyright Copyright (c) 2018, Easy Digital Downloads, LLC
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
* @since 3.0
*/
namespace EDD\Utils\Exceptions;
/**
* Implements an Attribute_Not_Found exception thrown when a given
* attribute is not found.
*
* @since 3.0
*
* @see \OutOfBoundsException
* @see \EDD_Exception
*/
class Attribute_Not_Found extends \OutOfBoundsException implements \EDD_Exception {
/**
* Retrieves an informed Attribute_Not_Found instance via late-static binding.
*
* @since 3.0
*
* @param string $attribute_name Attribute resulting in the exception.
* @param string $collection Collection the attribute belongs to.
* @param int $code Optional. Exception code. Default null.
* @param \Exception $previous Optional. Previous exception (used for chaining).
* Default null.
* @return \EDD\Utils\Exceptions\Attribute_Not_Found Exception instance.
*/
public static function from_attr( $attribute_name, $collection, $code = null, $previous = null ) {
$message = sprintf( 'The \'%1$s\' attribute does not exist for \'%2$s\'.',
$attribute_name,
$collection
);
return new static( $message, $code, $previous);
}
}