Define your own exception class : Exceptions : Development PHP Source Code


PHP Source Code » Development » Exceptions »

 

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']);
   }

?>


           
       



HTML code for linking to this page:

Follow Navioo On Twitter

PHP Source Code

 Navioo Development
» Exceptions