首页 > 资讯列表 > 编程/数据库 >> PHP

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

PHP 2014-12-07 03:21:03 转载来源: 网络整理/侵权必删

本文为大家讲解的是php设计模式中的 Delegation 委托模式示例代码,需要的朋友可以参考下。 <?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->getPlayLi

本文为大家讲解的是php设计模式中的 Delegation 委托模式示例代码,需要的朋友可以参考下。


<?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 设计模式 Delegation 委托 模式


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持