aboutsummaryrefslogtreecommitdiff
path: root/lib/minz/exceptions/MinzException.php
blob: 8fca5ec16ab8fd871185f4c672534a271640e973 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php

class MinzException extends Exception {
	const ERROR = 0;
	const WARNING = 10;
	const NOTICE = 20;

	public function __construct ($message, $code = self::ERROR) {
		if ($code != MinzException::ERROR
		 && $code != MinzException::WARNING
		 && $code != MinzException::NOTICE) {
			$code = MinzException::ERROR;
		}
		
		parent::__construct ($message, $code);
	}
}

class PermissionDeniedException extends MinzException {
	public function __construct ($file_name, $code = self::ERROR) {
		$message = 'Permission is denied for `' . $file_name.'`';
		
		parent::__construct ($message, $code);
	}
}
class FileNotExistException extends MinzException {
	public function __construct ($file_name, $code = self::ERROR) {
		$message = 'File doesn\'t exist : `' . $file_name.'`';
		
		parent::__construct ($message, $code);
	}
}
class BadConfigurationException extends MinzException {
	public function __construct ($part_missing, $code = self::ERROR) {
		$message = '`' . $part_missing
		         . '` in the configuration file is missing';
		
		parent::__construct ($message, $code);
	}
}
class ControllerNotExistException extends MinzException {
	public function __construct ($controller_name, $code = self::ERROR) {
		$message = 'Controller `' . $controller_name
		         . '` doesn\'t exist';
		
		parent::__construct ($message, $code);
	}
}
class ControllerNotActionControllerException extends MinzException {
	public function __construct ($controller_name, $code = self::ERROR) {
		$message = 'Controller `' . $controller_name
		         . '` isn\'t instance of ActionController';
		
		parent::__construct ($message, $code);
	}
}
class ActionException extends MinzException {
	public function __construct ($controller_name, $action_name, $code = self::ERROR) {
		$message = '`' . $action_name . '` cannot be invoked on `'
		         . $controller_name . '`';
		
		parent::__construct ($message, $code);
	}
}
class RouteNotFoundException extends MinzException {
	private $route;
	
	public function __construct ($route, $code = self::ERROR) {
		$this->route = $route;
		
		$message = 'Route `' . $route . '` not found';
		
		parent::__construct ($message, $code);
	}
	
	public function route () {
		return $this->route;
	}
}
class PDOConnectionException extends MinzException {
	public function __construct ($string_connection, $user, $code = self::ERROR) {
		$message = 'Access to database is denied for `' . $user . '`'
		         . ' (`' . $string_connection . '`)';
		
		parent::__construct ($message, $code);
	}
}
class CurrentPagePaginationException extends MinzException {
	public function __construct ($page) {
		$message = 'Page number `' . $page . '` doesn\'t exist';
		
		parent::__construct ($message, self::ERROR);
	}
}