So Daniel... What would be the canonical recovery with the Drupal 7 code the way it is? We probably need to have a big page that explains this.<br><br>Thanks,<br>-Randy<br><br><div class="gmail_quote">On Mon, Jan 24, 2011 at 11:47 AM, Daniel F. Kudwien <span dir="ltr">&lt;<a href="mailto:news@unleashedmind.com">news@unleashedmind.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">&gt; Using the autoloader protects you from WSOD should the ancestor class<br>

&gt; move to a new file, because it will not attempt to set up the classes<br>
&gt; the moment the module is enabled in the bootstrap.<br>
<br>
</div>This is not true, actually it&#39;s the exact opposite - which happens to be the<br>
topic of this thread.<br>
<br>
Try moving around modules and files in D7.  Try early alpha versions of<br>
Entity module and update to later ones.<br>
<br>
Just try it.  And see how Drupal blows up and leaves you with an almost<br>
unrecoverable state.<br>
<br>
<br>
The root of this problem is that Drupal requires a full bootstrap to flush<br>
all caches and/or to rebuild the class registry.  However, a full bootstrap<br>
means that all .module files are loaded.  Loading all .module files may<br>
contain classes already:<br>
<br>
class Foo extends Bar {<br>
}<br>
<br>
In case Bar was previously contained in<br>
sites/all/modules/bar/includes/controller.inc and now got moved into<br>
sites/all/modules/bar/bar.controller.inc, PHP is unable to find/autoload<br>
Bar, so you get a fatal error upon the class definition of Foo.<br>
<br>
Once you manually resolved the class registry problem, you still won&#39;t be<br>
able to bootstrap, due to <a href="http://drupal.org/node/996236" target="_blank">http://drupal.org/node/996236</a><br>
<br>
sun<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Randy Fay<br>Drupal Module and Site Development<br><a href="mailto:randy@randyfay.com">randy@randyfay.com</a><br>+1  970.462.7450<br><br>