All pastes #205060 Raw Edit

Miscellany

public text v1 · immutable
#205060 ·published 2006-10-16 14:08 UTC
rendered paste body
<?php

class Test
{
    private $cat = "default";
    private $dog = "default";
    private $bird = "default";
    private $animals = array('cat' => 'default',
                             'dog' => 'default',
                             'bird' => 'default');

    function return_member($tag)
    {
        switch($tag)
        {
            case "miau":
                $member = "cat";
            break;

            case "bark":
                $member = "dog";
            break;

            case "tweet":
                $member = "bird";
            break;

            default:
                $member = NULL;
            break;
        }

        return($member);
    }

    function __construct()
    {
        $argc = func_num_args();
        $i = 0;

        while ($i < $argc)
        {
            $tag = func_get_arg($i);
            $data = func_get_arg($i+1);

            $i += 2;
            //echo "tag:".$tag."\n";

            if ($member = $this->return_member($tag))
            {
            	echo "t:$tag m:$member d:$data\n";
                $this->$member = $data;
            }
            $this->animals["$member"] = array('tag' => $tag, 'data' => $data) ;
        }


        print("<pre>"); print_r($this); print("</pre>");
    }
}

$x = new Test("miau", "cats do this", "bark", "dogs do this", "tweet", "birds do this");

?>