Hacker News new | ask | show | jobs
by datphp 4528 days ago
Your code doesn't work...

The catch will never be called, and you should never use isset() because it will return false if the value exists but is null.

    whatever->param = null;
    whatever->param = 123;
Both lines will execute here.

    function __set($k, $v){
        if (array_key_exists($k, $this->Properties)){
            throw new ReadOnlyException();
        }else{
            $this->Properties[$k] = $v;
        }
    }
1 comments

Yes, thank you. I noticed the problem after it was too late to edit. Slightly embarrassing.