From befdc87b1ce6caf47c6f8b1dfa02333dfee8a950 Mon Sep 17 00:00:00 2001 From: Derek Allard Date: Tue, 9 Oct 2007 13:25:27 +0000 Subject: Added the ability to auto-load Models --- system/application/config/autoload.php | 15 +++++++++++++++ system/libraries/Loader.php | 18 ++++++++++++++++++ 2 files changed, 33 insertions(+) (limited to 'system') diff --git a/system/application/config/autoload.php b/system/application/config/autoload.php index 8bb4181b5..2dfbe422c 100644 --- a/system/application/config/autoload.php +++ b/system/application/config/autoload.php @@ -23,6 +23,7 @@ | 3. Plugins | 4. Custom config files | 5. Language files +| 6. Models | */ @@ -96,6 +97,20 @@ $autoload['config'] = array(); $autoload['language'] = array(); + +/* +| ------------------------------------------------------------------- +| Auto-load Models +| ------------------------------------------------------------------- +| Prototype: +| +| $autoload['model'] = array('model1', 'model2'); +| +*/ + +$autoload['model'] = array(); + + /* | ------------------------------------------------------------------- | Auto-load Core Libraries diff --git a/system/libraries/Loader.php b/system/libraries/Loader.php index 051d3d899..dd639798d 100644 --- a/system/libraries/Loader.php +++ b/system/libraries/Loader.php @@ -107,8 +107,19 @@ class CI_Loader { */ function model($model, $name = '', $db_conn = FALSE) { + if (is_array($model)) + { + foreach($model as $babe) + { + $this->model($babe); + } + return; + } + if ($model == '') + { return; + } // Is the model in a sub-folder? If so, parse out the filename and path. if (strpos($model, '/') === FALSE) @@ -855,6 +866,12 @@ class CI_Loader { } } + // Autoload models + if (isset($autoload['model'])) + { + $this->model($autoload['model']); + } + // A little tweak to remain backward compatible // The $autoload['core'] item was deprecated if ( ! isset($autoload['libraries'])) @@ -875,6 +892,7 @@ class CI_Loader { // Load the model class. if (in_array('model', $autoload['libraries'])) { + die('made it in!'); $this->model(); $autoload['libraries'] = array_diff($autoload['libraries'], array('model')); } -- cgit v1.2.3-24-g4f1b