PHPでClassを使う練習をしているのですが、例外処理について分からないところがあります。
PHP
1class User{ 2 private $user_id; 3 4 public function __construct($id){ 5 $this->user_id = $id; 6 } 7}
PHP
1$user = new User(1); //正しい 2$user = new User("あ") //間違ってる
$idには数字(int)を入れておく必要があります。
この時もし、int以外のstring型などが指定されていた場合の例外処理は考える必要があるのでしょうか?
PHP
1$id = $_GET["user_id"]; 2 3if(!is_int($id)){ 4 echo "user_idがintではない"; 5 exit; 6} 7 8$user = new User($id); 9 10/////////////// 11 12 public function __construct($id){ 13 if(!is_int($id)){ 14 echo "intではない"; 15 return; 16 } 17 $this->user_id = $id; 18}
↑のようにインスタンス化する前に処理する感じでいいのでしょうか?
それとも__constructの中で処理するのでしょうか。
間違っていても他の処理をする際に、値が使えなくてエラーが出るので気づくのですが、
このClass単体として不完全な気がして気になっています。
・気にしなくていい
・気にするなら、どのようにするのがいいのか
を教えて頂ければ幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。