<?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); } }