龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 静态变量、成员、方法

时间:2014-07-14 15:20来源:网络整理 作者:网络 点击:
分享到:
静态变量、成员、方法 [代码片段(71行)]
<?php
  interface IImage{

    function getHeight();

    function getWidth();

    function getData();
  }

  class Image_PNG implements IImage{
    private $_width,$_height,$_data;
    public function __construct($file){
      $this->_file=$file;
      $this->_parse();
    }
    private function _parse(){
      //完成PNG格式的解析工作
      //并填充$_width、$_height和$_data
    }
    public function getWidth(){
    return $this->_width;
    }
    public function getHeight(){
    return $this->_height;
    }
    public function getData(){
    return $this->_data;
    }
  }
 class Image_JPEG implements IImage{
  private $_width ,$_height,$_data;
  public function __construct($file){
    $this->_file=$file;
    $this->_parse();
  }
  private function _parse(){
  }
  public function getWidth(){
    return $this->_width;
  }
  public function getHeight(){
    return $this->_height;
  }
  public function getData(){
    return $this->_data;
  }
 }
 class ImageFactory{
  public static function factory($file){
    $pathParts=pathinfo($file);
    switch(strtolower($pathParts['extension'])){
      case 'jpg';
        $ret=new Image_JPEG($file);
        break;
      case 'png';
        $ret=new Image_PNG($file);
        break;
        default;
    }
    if($ret instanceof IImage){
      return $ret;
      }
      else{
      }
  }
 }
  $image=ImageFactory::factory('/path/to/b/bei.jpg');
  echo $image->getWidth();
?>
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接