You can clone with
HTTPS or Subversion.
In #620, we implemented an autoloader. In this ticket, we clean up the code by removing unnecessary require_once statements. This will require some analysis.
(In ) refs #620, refs #803 - refactor autoloader into core/Loader.php (class
Piwik_Loader); remove unnecessary require_once in core/Common.php
(In ) refs #803 - add autoloader to tests
My thought is to leave subclassed Exceptions where they are. We can add code to the autoloader to handle this, assuming I got the renaming right.
Something like Auth_Result should be in its own file for speed and consistency. An alternative is to continue to use require_once for these cases.
Actually, Piwik_Auth_Result isn't a good example as it and Piwik_Auth are currently always used in the same context. (core/Access.php, core/Auth.php, plugins/Login/Auth.php)
(In ) refs #803 - auto-discovery algorithm to handle class Piwik, files with
multiple class definitions (e.g., Piwik_Auth_Result), and fix typo
(reference to Piwik_Api_Proxy).
(In ) refs #803 - temp fix: PluginsManager defines functions in global scope
(In ) refs #803 - temp fix; Translate.php contains global scope functions
(In ) refs #803 - Log/Exception contains classes that won't be found by
autoloader's discovery algorithm; FrontController.php and Common.php
use classes with global scope functions (i.e., this needs to be
(In ) refs #803 - Auth is loaded by piwik.php?
Ok, files containing global scope functions will continue to be manually included (via require_once).
(In ) refs #803 comment:11 - rename Log Formatter classes for consistency
increasing priority - now that the loader is in place, maybe we should aim to close the ticket and remove all require_once - vipsoft if you disagree please reset the milestone
(In ) fixes #803 - remove unnecessary require_once from core, plugins, and parts of
libs. (I didn't touch: open-flash-chart, Zend Framework, and PEAR HTML.)
(In ) refs #803, refs #735 - lower default to 200; remove unnecessary require_once; standardize setting of include_path