37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\sery;
 | 
						|
 | 
						|
/**
 | 
						|
 * Class AccessException: indiquer que la resource ou l'objet auquel on veut
 | 
						|
 * accéder n'est pas accessible. il s'agit donc d'une erreur de l'utilisateur
 | 
						|
 */
 | 
						|
class AccessException extends UserException {
 | 
						|
  static final function read_only(?string $dest=null, ?string $prefix=null): self {
 | 
						|
    if ($prefix) $prefix = "$prefix: ";
 | 
						|
    if ($dest === null) $dest = "this property";
 | 
						|
    $message = "$dest is read-only";
 | 
						|
    return new static($prefix.$message);
 | 
						|
  }
 | 
						|
 | 
						|
  static final function immutable_object(?string $dest=null, ?string $prefix=null): self {
 | 
						|
    if ($prefix) $prefix = "$prefix: ";
 | 
						|
    if ($dest === null) $dest = "this object";
 | 
						|
    $message = "$dest is immutable";
 | 
						|
    return new static($prefix.$message);
 | 
						|
  }
 | 
						|
 | 
						|
  static final function not_allowed(?string $action=null, ?string $prefix=null): self {
 | 
						|
    if ($prefix) $prefix = "$prefix: ";
 | 
						|
    if ($action === null) $action = "this operation";
 | 
						|
    $message = "$action is not allowed";
 | 
						|
    return new static($prefix.$message);
 | 
						|
  }
 | 
						|
 | 
						|
  static final function not_accessible(?string $dest=null, ?string $prefix=null): self {
 | 
						|
    if ($prefix) $prefix = "$prefix: ";
 | 
						|
    if ($dest === null) $dest = "this resource";
 | 
						|
    $message = "$dest is not accessible";
 | 
						|
    return new static($prefix.$message);
 | 
						|
  }
 | 
						|
}
 |