Maison  >  Article  >  php教程  >  静态变量、成员、方法

静态变量、成员、方法

PHP中文网
PHP中文网original
2016-05-25 17:06:32929parcourir

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();
?>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn