diff options
author | Andrey Andreev <narf@bofh.bg> | 2013-01-12 03:19:19 +0100 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2013-01-12 03:19:19 +0100 |
commit | 5a519db2c4884a3972dd33e09d0b3a314aa222e2 (patch) | |
tree | e693c7dfcfb0201df17a5c0df4161253bb2ad07d | |
parent | 78fa58a66f4e0d31043f0d3d8a64088fb8900361 (diff) |
Implement autoload model aliasing (#2117)
-rw-r--r-- | application/config/autoload.php | 8 | ||||
-rw-r--r-- | system/core/Loader.php | 4 | ||||
-rw-r--r-- | user_guide_src/source/changelog.rst | 1 | ||||
-rw-r--r-- | user_guide_src/source/general/autoloader.rst | 2 |
4 files changed, 10 insertions, 5 deletions
diff --git a/application/config/autoload.php b/application/config/autoload.php index 40f0a6520..5a20c943a 100644 --- a/application/config/autoload.php +++ b/application/config/autoload.php @@ -148,12 +148,16 @@ $autoload['language'] = array(); | ------------------------------------------------------------------- | Prototype: | -| $autoload['model'] = array('model1', 'model2'); +| $autoload['model'] = array('first_model', 'second_model'); | +| You can also supply an alternative model name to be assigned +| in the controller: +| +| $autoload['model'] = array('first_model' => 'first'); */ $autoload['model'] = array(); /* End of file autoload.php */ -/* Location: ./application/config/autoload.php */ +/* Location: ./application/config/autoload.php */
\ No newline at end of file diff --git a/system/core/Loader.php b/system/core/Loader.php index 9bfddc15a..4d95d6288 100644 --- a/system/core/Loader.php +++ b/system/core/Loader.php @@ -233,9 +233,9 @@ class CI_Loader { } elseif (is_array($model)) { - foreach ($model as $class) + foreach ($model as $key => $value) { - $this->model($class); + $this->model(is_int($key) ? $value : $key, $value); } return; } diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index 2966f659f..989999929 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -285,6 +285,7 @@ Release Date: Not Released - Added autoloading of drivers with ``$autoload['drivers']``. - ``$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. - :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. diff --git a/user_guide_src/source/general/autoloader.rst b/user_guide_src/source/general/autoloader.rst index e5cec723b..bf2e3935a 100644 --- a/user_guide_src/source/general/autoloader.rst +++ b/user_guide_src/source/general/autoloader.rst @@ -15,7 +15,7 @@ The following items can be loaded automatically: - Language files found in the *system/language/* directory - Models found in the *models/* folder -To autoload resources, open the *application/config/autoload.php* +To autoload resources, open the **application/config/autoload.php** file and add the item you want loaded to the autoload array. You'll find instructions in that file corresponding to each type of item. |