How can I dereference a constructor? 
<p>Ideally I would like to do something like this....</p>

<pre><code>$formElement-&gt;addValidator
(
    (new RegexValidator('/[a-z]/') )-&gt;setErrorMessage('Error')
    // setErrorMessage() returns $this
);
</code></pre>

<p>Of course PHP won't allow that, so I settle for this...</p>

<pre><code>$formElement-&gt;addValidator
(
    RegexValidator::create('/[a-z]/')-&gt;setErrorMessage('Error')
);
</code></pre>

<p>And the code in the Base class....</p>

<pre><code>static public function create( $value )
{
  return new static( $value );
}
</code></pre>

<p>I would <em>like</em> to go one step further and do something like this...</p>

<pre><code>static public function create()
{
  return call_user_func_array( 'static::__construct', func_get_args() );
}
</code></pre>

<p>Again, PHP won't allow me to do this. I <em>could</em> code individual 'create' methods for each validator, but I want it to be a little more slick. </p>

<p>Any suggestions please?</p>
