Removed CI_Loader::initialize() and moved its logic to the constructor.
That method used to be called by the CI_Controller constructor
and was required because of the possibility to instantiate the
Controller class twice due to 404_override, and so some properties
needed to be reset.
Following the last commit - this is no longer the case.
diff --git a/system/core/Controller.php b/system/core/Controller.php
index ee6fec8..cbdf051 100644
--- a/system/core/Controller.php
+++ b/system/core/Controller.php
@@ -65,7 +65,6 @@
}
$this->load =& load_class('Loader', 'core');
- $this->load->initialize();
log_message('debug', 'Controller Class Initialized');
}
diff --git a/system/core/Loader.php b/system/core/Loader.php
index e9d0348..2a78f41 100644
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -130,8 +130,10 @@
/**
* Class constructor
*
- * Sets component load paths gets the initial output buffering level.
+ * Sets component load paths, gets the initial output buffering level
+ * and calls the autoloader.
*
+ * @uses CI_Loader::_ci_autoloader()
* @return void
*/
public function __construct()
@@ -141,6 +143,8 @@
$this->_ci_helper_paths = array(APPPATH, BASEPATH);
$this->_ci_model_paths = array(APPPATH);
$this->_ci_view_paths = array(VIEWPATH => TRUE);
+ $this->_base_classes =& is_loaded();
+ $this->_ci_autoloader();
log_message('debug', 'Loader Class Initialized');
}
@@ -148,26 +152,6 @@
// --------------------------------------------------------------------
/**
- * Initialize the Loader
- *
- * @used-by CI_Controller
- * @uses CI_Loader::_ci_autoloader()
- * @return object $this
- */
- public function initialize()
- {
- $this->_ci_classes = array();
- $this->_ci_loaded_files = array();
- $this->_ci_models = array();
- $this->_base_classes =& is_loaded();
-
- $this->_ci_autoloader();
- return $this;
- }
-
- // --------------------------------------------------------------------
-
- /**
* Is Loaded
*
* A utility method to test if a class is in the self::$_ci_classes array.
@@ -1150,7 +1134,7 @@
*
* Loads component listed in the config/autoload.php file.
*
- * @used-by CI_Loader::initialize()
+ * @used-by CI_Loader::__construct()
* @return void
*/
protected function _ci_autoloader()
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 105a0d8..a7ff0d2 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -245,6 +245,7 @@
- ``library()`` method will now load drivers as well, for backward compatibility of converted libraries (like :doc:`Session <libraries/sessions>`).
- ``$config['rewrite_short_tags']`` now has no effect when using PHP 5.4 as ``<?=`` will always be available.
- Changed method ``config()`` to return whatever ``CI_Config::load()`` returns instead of always being void.
+ - Removed method ``initialize()`` and moved its logic to the constructor.
- :doc:`Input Library <libraries/input>` changes include:
- Added ``method()`` to retrieve ``$_SERVER['REQUEST_METHOD']``.
- Added support for arrays and network addresses (e.g. 192.168.1.1/24) for use with the *proxy_ips* setting.