title: What is the effect of specifying a class name before a argument name in the signature of a function declaration?
body: <p>Is there any difference between:</p>
  
  <pre><code>public function init(a_class_name $classObj)
  </code></pre>
  
  <p>and</p>
  
  <pre><code>public function init($classObj)
  </code></pre>
  
  <p>The difference being that example 1 specifies what kind of object I am getting. My question is more: does php still pass the object by reference (Default behavior) or is example 1 some weird shortcut to clone the object. I only ask because in more strict languages (C, Java) example 1 is quite straightforward (and the only example that would work). In PHP it is not as clear, and both methods are used in different places in the PHP docs.</p>
  
  <p>Thanks.</p>