diff options
author | Andrey Andreev <narf@devilix.net> | 2013-07-23 16:16:10 +0200 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2013-07-23 16:16:10 +0200 |
commit | 519f87a07bd1fe3a9ec037f727628bb6c7c8e251 (patch) | |
tree | 1e3b41997d3629d0221b813024f673af47b60e4d /user_guide_src/source | |
parent | 9ab70a89b3ba7ee26faaae47410259e74391b593 (diff) |
Loader changes & optimizations related to issue #2551
Diffstat (limited to 'user_guide_src/source')
-rw-r--r-- | user_guide_src/source/changelog.rst | 3 | ||||
-rw-r--r-- | user_guide_src/source/libraries/loader.rst | 26 |
2 files changed, 29 insertions, 0 deletions
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index 2bd34c33b..08a8f0b38 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -375,6 +375,8 @@ Release Date: Not Released - ``$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. - Added support for model aliasing on autoload. + - Changed method ``is_loaded()`` to ask for the (case sensitive) library name instead of its instance name. + - Removed ``$_base_classes`` property and unified all class data in ``$_ci_classes`` instead. - :doc:`Input Library <libraries/input>` changes include: @@ -596,6 +598,7 @@ Bug fixes for 3.0 - Fixed a bug (#2490) - :doc:`Database Class <database/queries>` method ``query()`` returning boolean instead of a result object for PostgreSQL-specific *INSERT INTO ... RETURNING* statements. - Fixed a bug (#249) - :doc:`Cache Library <libraries/caching>` didn't properly handle Memcache(d) configurations with missing options. - Fixed a bug (#180) - :php:func:`config_item()` didn't take into account run-time configuration changes. +- Fixed a bug (#2551) - :doc:`Loader Library <libraries/loader>` method ``library()`` didn't properly check if a class that is being loaded already exits. Version 2.1.4 ============= diff --git a/user_guide_src/source/libraries/loader.rst b/user_guide_src/source/libraries/loader.rst index 1597bf1c8..19446a9c8 100644 --- a/user_guide_src/source/libraries/loader.rst +++ b/user_guide_src/source/libraries/loader.rst @@ -261,6 +261,32 @@ $this->load->config('file_name') This method is an alias of the :doc:`config file loading method <config>`: ``$this->config->load()`` +$this->load->is_loaded('library_name') +====================================== + +The ``is_loaded()`` method allows you to check if a class has already +been loaded or not. + +.. note:: The word "class" here refers to libraries and drivers. + +If the requested class has been loaded, the method returns its assigned +name in the CI Super-object and FALSE if it's not:: + + $this->load->library('form_validation'); + $this->load->is_loaded('Form_validation'); // returns 'form_validation' + + $this->load->is_loaded('Nonexistent_library'); // returns FALSE + +.. important:: If you have more than one instance of a class (assigned to + different properties), then the first one will be returned. + +:: + + $this->load->library('form_validation', $config, 'fv'); + $this->load->library('form_validation'); + + $this->load->is_loaded('Form_validation'); // returns 'fv' + Application "Packages" ====================== |