13 pers. connectées au site
Wall posté le Samedi 29 septembre 2007
Code pour illustrer l'intérêt de la programmation objet. Ce code n'a pas été testé, et comporte des bogues évidents. C'est une ILLUSTRATION.
- <?php
-
-
-
-
-
- class TextFile
- {
- const DEFAULT_MODE = 'r' ;
- const DEFAULT_BLOCK_SIZE = 1024 ;
-
- public function __construct($name)
- {
- $this->name = $name ;
- }
-
- public function name()
- {
- return (string) $this->name ;
- }
-
- public function open()
- {
- $this->handler = fopen($this->name, self::DEFAULT_MODE) ;
- }
-
- public function close()
- {
- fclose($this->handler) ;
- $this->handler = null ;
- }
-
-
-
- public function readline()
- {
- if($this->handler)
- return fread($this->handler, self::DEFAULT_BLOCK_SIZE) ;
- else
- throw new Exception('Manipulateur de fichier invalide !') ;
-
- return null ;
- }
-
- private $name ;
- private $handler ;
- }
-
- class ConfigFile extends File
- {
- const FORMAT = '^[\s|\t]*(\w+)[\s|\t]+(\w+)*#.*$' ;
- const DEFAULT_NAME = '.htconfig' ;
-
- public function __construct($name)
- {
- parent::__construct(is_null($name) ? self::DEFAULT_NAME : $name) ;
- }
-
- public function read()
- {
- $line = parent::read() ;
- preg_match(self::FORMAT, $line, $option) ;
-
- return $option ;
- }
- }
-
- class BufferedFile extends File
- {
-
- }
-
- ?>
Remonter