46 lines
1.4 KiB
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);
|
|
}
|
|
|
|
}
|