title: __set_state() - An explanation of the note on the php.net
body: <p><a href="http://php.net/manual/en/language.oop5.magic.php#object.set-state" rel="nofollow noreferrer">http://php.net/manual/en/language.oop5.magic.php#object.set-state</a></p>
  
  <blockquote>
    <p>Note: When exporting an object, var_export() does not check whether __set_state() is implemented by the object's class, so re-importing such objects will fail, if __set_state() is not implemented. Particularly, this affects some internal classes. It is the responsibility of the programmer to verify that only objects will be re-imported, whose class implements __set_state().</p>
  </blockquote>
  
  <p>1) __set_state() is something that we implement ourselves in every object where we want to have it in place?</p>
  
  <p>2) an object can have it or not? </p>
  
  <p>3) what does the "re-importing" mean? var_export does the export so we import or actually "re-import", I dont understand this part. </p>
  
  <p>4) "this particularly affects some internal classes"; more info on this would be good </p>