I have a class that accepts user ID when instantiated. When that ID does not exist in the database, it will throw an exception. Here it is:
class UserModel {
    protected $properties = array();
    public function __construct($id=null) {
        $user = // Database lookup for user with that ID...
        if (!$user) {
            throw new Exception('User not found.');
        }
    }
}
My client code looks like this:
try {
   $user = new UserModel(123);
} catch (Exception $e) {
   $user = new UserModel();
   // Assign values to $user->properties and then save...
}
It simply tries to find out if the user exists, otherwise it creates a new one. It works, but I'm not sure if it's proper? If not, please provide a solution.
 
     
     
     
     
    