示例#1
0
    }
    public function getPLS()
    {
        $pls = "[playlist]\nNumberOfEntries=" . count($this->__songs) . "\n\n";
        foreach ($this->__songs as $songCount => $song) {
            $counter = $songCount + 1;
            $pls .= "File{$counter}={$song['location']}\n";
            $pls .= "Title{$counter}={$song['title']}\n";
            $pls .= "Length{$counter}=-1\n\n";
        }
        return $pls;
    }
}
$externalRetrievedType = 'pls';
$playlist = new Playlist();
$playlist->addSong('/home/aaron/music/brr.mp3', 'Brr');
$playlist->addSong('/home/aaron/music/goodbye.mp3', 'Goodbye');
if ($externalRetrievedType == 'pls') {
    $playlistContent = $playlist->getPLS();
} else {
    $playlistContent = $playlist->getM3U();
}
/* DELEGATE SOLUTION */
class newPlaylist
{
    private $__songs;
    private $__typeObject;
    public function __construct($type)
    {
        $this->__songs = array();
        $object = "{$type}PlaylistDelegate";
示例#2
0
        return $m3u;
    }
    public function getPLS()
    {
        $pls = "[playlist]]\nNumberOfEntries = " . count($this->_songs) . "\n\n";
        foreach ($this->_songs as $songCount => $song) {
            $counter = $songCount + 1;
            $pls .= "File{$counter} = {$song['location']}\n";
            $pls .= "Title{$counter} = {$song['title']}\n";
            $pls .= "LengthP{$counter} = -1 \n\n";
        }
        return $pls;
    }
}
$playlist = new Playlist();
$playlist->addSong("/home/aaron/music/brr.mp3", "Brr");
$playlist->addSong("/home/aaron/music/goodbye.mp3", "Goodbye");
$externalRetrievedType = "pls";
if ($externalRetrievedType == "pls") {
    $playlistContent = $playlist->getPLS();
} else {
    $playlistContent = $playlist->getM3U();
}
echo $playlistContent;
//委托模式实现
class newPlaylist
{
    private $_songs;
    private $_tyepObject;
    public function __construct($type)
    {