35 lines
1.2 KiB
PHP
35 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Yoast\WP\SEO\Premium\Exceptions;
|
|
|
|
use RuntimeException;
|
|
|
|
/**
|
|
* Exception for attempting a mutation on properties that are made readonly through magic getters and setters.
|
|
*/
|
|
class Forbidden_Property_Mutation_Exception extends RuntimeException {
|
|
|
|
/**
|
|
* Creates a Forbidden_Property_Mutation_Exception exception when an attempt is made
|
|
* to assign a value to an immutable property.
|
|
*
|
|
* @param string $property_name The name of the immutable property.
|
|
*
|
|
* @return Forbidden_Property_Mutation_Exception The exception.
|
|
*/
|
|
public static function cannot_set_because_property_is_immutable( $property_name ) {
|
|
return new self( \sprintf( 'Setting property $%s is not supported.', $property_name ) );
|
|
}
|
|
|
|
/**
|
|
* Creates a Forbidden_Property_Mutation_Exception exception when an attempt is made to unset an immutable property.
|
|
*
|
|
* @param string $property_name The name of the immutable property.
|
|
*
|
|
* @return Forbidden_Property_Mutation_Exception The exception.
|
|
*/
|
|
public static function cannot_unset_because_property_is_immutable( $property_name ) {
|
|
return new self( \sprintf( 'Unsetting property $%s is not supported.', $property_name ) );
|
|
}
|
|
}
|