CakePHPのソースを読む 06

2014-01-11

bootstrap.phpのファイル呼び出し3連チャンもこれで最後。

1
require CAKE . 'Error' . DS . 'exceptions.php';

  読んで字の如く。CakePHPで利用する例外がどわーーーっと記述されてます。 サンプルとして1つ取り上げてみると

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class BadRequestException extends HttpException {

/**
* Constructor
*
* @param string $message If no message is given 'Bad Request' will be the message
* @param integer $code Status code, defaults to 400
*/
public function __construct($message = null, $code = 400) {
if (empty($message)) {
$message = 'Bad Request';
}
parent::__construct($message, $code);
}

}

  これの列挙です。 ところで、列挙された例外の規定クラスはCakeBaseExceptionなのですが、それが継承しているのはRuntimeExceptionなんですね。 でもって、これはなんじゃらほいと追っかけるとSPL.phpに辿り着きます。   Standard PHP Library ま、まじか。こんなのあるんすね。はいそうですね、情弱です。 情弱らしくググって見ると   Standard PHP Library - Wikipedia   オブジェクト指向と同じタイミングで、導入されてたんすね・・・。さーせん。 なるほど、RuntimeExceptionはこういう形で定義されているのか。   これにてbootstrap.phpのファイル呼び出し3連チャンは終了。   次は、以下の1文が書かれています。いやぁ、匂いますねぇ。SPLの匂いが・・・。

1
spl_autoload_register(array('App', 'load'));