php设计模式 Delegation(委托模式)_PHP教程

php教程评论451 views阅读模式

复制代码 代码如下:

/**

* 委托模式 示例

*

* @create_date: 2010-01-04

*/

class PlayList

{

var $_songs = array();

var $_object = null;

function PlayList($type)

{

$object = $type."PlayListDelegation";

$this->_object = new $object();

}

function addSong($location,$title)

{

$this->_songs[] = array("location"=>$location,"title"=>$title);

}

function getPlayList()

{

return $this->_object->getPlayList($this->_songs);

}

}

class mp3PlayListDelegation

{

function getPlayList($songs)

{

$aResult = array();

foreach($songs as $key=>$item)

{

$path = pathinfo($item['location']);

if(strtolower($item['extension']) == "mp3")

{

$aResult[] = $item;

}

}

return $aResult;

}

}

class rmvbPlayListDelegation

{

function getPlayList($songs)

{

$aResult = array();

foreach($songs as $key=>$item)

{

$path = pathinfo($item['location']);

if(strtolower($item['extension']) == "rmvb")

{

$aResult[] = $item;

}

}

return $aResult;

}

}

$oMP3PlayList = new PlayList("mp3");

$oMP3PlayList->getPlayList();

$oRMVBPlayList = new PlayList("rmvb");

$oRMVBPlayList->getPlayList();

?>

企鹅博客
  • 本文由 发表于 2020年10月9日 01:06:35
  • 转载请务必保留本文链接:https://www.qieseo.com/311422.html

发表评论