php设计模式 Delegation(委托模式)
作者:bea
代码如下: <?php /** * 委托模式 示例 * * @create_date: 2010-01-04 */ class PlayList { var $_songs = array(); var $_object = null; function PlayList($type) { $object = $type."PlayListDelegation"; $this->_object = new $object(); }
代码如下:
<?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();
?>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- shopex主机报错误请求解决方案(No such file or directory)
- PHP写UltraEdit插件脚本实现方法
- url decode problem 解决方法
- 最新用php获取谷歌PR值算法,附上php查询PR值代码示例
- 匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
- php操作JSON格式数据的实现代码
- php文件怎么打开 如何执行php文件
- 使用JSON实现数据的跨域传输的php代码
- php自动注册登录验证机制实现代码
- php4与php5的区别小结(配置异同)
- 利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- PHP定时执行计划任务的多种方法小结
- 在WINDOWS中设置计划任务执行PHP文件的方法
- PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
- php中使用DOM类读取XML文件的实现代码
- php设计模式 Builder(建造者模式)
- php设计模式 DAO(数据访问对象模式)
- php设计模式 Decorator(装饰模式)