title: Why do PHP magical methods have to be public?
body: <p>I use magical methods in my PHP classes but when i try to put them private, I'm warned : </p>
  
  <blockquote>
    <p>WARN: The magic method __get() must have public visibility and cannot
    be static in ...</p>
  </blockquote>
  
  <p>I wouldn't like to have these methods in Eclipse auto completion. (maybe a way with phpdoc ?)
  So my question is, why must these methods be public ?</p>