SHARE
TWEET

Untitled

a guest Oct 16th, 2012 41 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. abstract class FileARModel
  3. {
  4.         private $dataFile;
  5.        
  6.         protected function __construct()
  7.         {
  8.                 $this->dataFile = get_class($this) . '.txt';
  9.         }
  10.        
  11.         protected function save()
  12.         {
  13.                 file_put_contents($this->dataFile, serialize($this));
  14.         }
  15.        
  16.         public static function loadById($id)
  17.         {
  18.                 $allData = file($this->dataFile);
  19.                 foreach($allData as $line)
  20.                 {
  21.                         $user = unserialize($line);
  22.                         if($user->getId() == $id)
  23.                                 return $user;
  24.                 }
  25.                
  26.                 return null;
  27.         }
  28. }
  29.  
  30. class User extends FileARModel
  31. {
  32.         private $id = null;
  33.         private $name;
  34.        
  35.         public function getId()
  36.         {
  37.                 return $this->id;
  38.         }
  39.        
  40.         public function getName()
  41.         {
  42.                 return $this->id;
  43.         }
  44.        
  45.         public function getName()
  46.         {
  47.                 return $this->name;
  48.         }
  49.        
  50.         public function setName($newName)
  51.         {
  52.                 if($this->validateName($newName))
  53.                         $this->name = $newName;
  54.                 else
  55.                         throw new \Exception('Invalid name');
  56.         }
  57.        
  58.         private function validateName($name)
  59.         {
  60.                 return preg_match('#[a-z]*#iu', $name);
  61.         }
  62.        
  63.         public function setId($id)
  64.         {
  65.                 $id = intval($id);
  66.                
  67.                 if($id <= 999999 || >= 999999999)
  68.                         throw new \Exception('invalid id');
  69.                        
  70.                 $this->id = $id;
  71.         }
  72. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top