ホームページ  >  記事  >  php教程  >  静态变量、成员、方法

静态变量、成员、方法

PHP中文网
PHP中文网オリジナル
2016-05-25 17:06:32966ブラウズ

php代码

<?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[&#39;extension&#39;])){
	  case &#39;jpg&#39;;
	    $ret=new Image_JPEG($file);
	    break;
	  case &#39;png&#39;;
	    $ret=new Image_PNG($file);
		break;
		default;
	}
	if($ret instanceof IImage){
	  return $ret;
	  }
	  else{
	  }
  }
 }
  $image=ImageFactory::factory(&#39;/path/to/b/bei.jpg&#39;);
  echo $image->getWidth();
?>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。