php设计模式 Delegation(委托模式)

yipeiwu_com7年前PHP代码库
复制代码 代码如下:

<?php
/**
* 委托模式 示例
*
* @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();
?>

相关文章

PHP自动生成后台导航网址的最佳方法

PHP自动生成后台导航网址的最佳方法

经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧。附上截图和代码如下(PHP+HTML)  复制代码 代码如下: <?ph...

PHP实现对数组简单求交集,差集,并集功能示例

PHP实现对数组简单求交集,差集,并集功能示例

本文实例讲述了PHP实现对数组简单求交集,差集,并集功能。分享给大家供大家参考,具体如下: <?php $arr1 = array( '0' => 'zero',...

php输出xml属性的方法

本文实例讲述了php输出xml属性的方法。分享给大家供大家参考。具体分析如下: 这段代码通过一个简单的范例演示了php如何读取xml文件并输出xml属性 <?php...

PHP/Javascript/CSS/jQuery常用知识大全详细整理第1/2页

1. 变量如何定义?如何检查变量是否定义?如何删除一个变量?怎样检测变量是否设置?       $定义  ...

PHP实现对文本数据库的常用操作方法实例演示

PHP可以实现对文本数据库的数据的显示、加入、修改、删除、查询等五大基本操作。 我们以一个留言本程序为例,简述一下PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方...