title: MVC Architecture: Should data passed to view from controller be read-only objects?
body: <p>I read somewhere that one should not pass plain model objects to view, but only read-only objects. So, currently I have something like this in my controller: </p>
  
  <pre><code>$user = new User(); // Model class
  $user-&gt;loadUserById($id);
  $this-&gt;setData('user', $user); //obviously $this refers to the controller object
  $this-&gt;displayView();
  </code></pre>
  
  <p>And then, I render the fields I want in my template. Is there something wrong to this approach or it is totally acceptable to pass model objects to view? </p>