Mega Code Archive

 
Categories / Php / Development
 

Define your own exception class

<?php    class InvalidEmailException extends Exception {           function __construct($message, $email) {          $this->message = $message;          $this->notifyAdmin($email);       }       private function notifyAdmin($email) {          mail("admin@yourdomain.com","INVALID EMAIL",$email,"From:web@example.com");       }    }    class subscribe {       function validateEmail($email) {          try {             if ($email == "") {                throw new Exception("You must enter an e-mail address!");             } else {                list($user,$domain) = explode("@", $email);                   if (! checkdnsrr($domain, "MX")) {                      throw new InvalidEmailException("Invalid e-mail address!", $email);                   } else {                      return 1;                   }             }          } catch (Exception $e) {             echo $e->getMessage();          } catch (InvalidEmailException $e) {             echo $e->getMessage();          }       }       function subscribeUser() {          echo $this->email." added to the database!";       }    }    $_POST['email'] = "someuser@example.com";    if (isset($_POST['email'])) {       $subscribe = new subscribe();       if($subscribe->validateEmail($_POST['email']))          $subscribe->subscribeUser($_POST['email']);    } ?>