英語、フランス語、ドイツ語の 3 つの言語で同じエラー メッセージのセットを含む 3 つのテキスト ファイルがあります。
何か問題が発生した場合に独自の例外オブジェクトがスローされるように、例外クラスを拡張する必要があります。たとえば、"throw new My-Exception("English", 4) - 英語ファイルの 4 番目のメッセージが表示されます。
これは私がこれまでに作ったものです:
<?php
class My_Exception extends Exception {
function __construct($lang, $errcode) {
$this->lang = $lang;
$this->errcode = $errcode;
}
function getMessageMap() {
$errors = file('errfiles/'.$this->lang.'.txt');
foreach($errors as $error) {
list($key,$value) = implode(',', $errors);
$errorArray[$key] = $value;
}
return $errorArray[$this->errcode];
}
}
try { throw new My_Exception('english', 3); }
catch (My_Exception $e) { echo $e->getMessageMap(); }
?>
これは正しく動作しません。どんな助けにも感謝します。