diff options
author | Nathan Kinkade <nkinkade@nkinka.de> | 2010-01-03 15:51:24 +0000 |
---|---|---|
committer | Nathan Kinkade <nkinkade@nkinka.de> | 2010-01-03 15:51:24 +0000 |
commit | 399abbc3a754cf5fdcfdff113446e1bc264091e2 (patch) | |
tree | 592188568e15325d59e51bf19cfdf667fae8d86d /system/libraries/Model.php | |
parent | 925a6a2220760cb7daacee1ab80a07b61b3a30a1 (diff) | |
parent | 64e5efd57ba1479179c202e1b76b6eeb42d2924c (diff) |
Merge branch 'master' of git://github.com/gallery/gallery3
Diffstat (limited to 'system/libraries/Model.php')
-rw-r--r-- | system/libraries/Model.php | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/system/libraries/Model.php b/system/libraries/Model.php index 0c9fd8d6..01d16fdd 100644 --- a/system/libraries/Model.php +++ b/system/libraries/Model.php @@ -2,15 +2,46 @@ /** * Model base class. * - * $Id: Model.php 4007 2009-02-20 01:54:00Z jheathco $ + * $Id: Model.php 4679 2009-11-10 01:45:52Z isaiah $ * * @package Core * @author Kohana Team * @copyright (c) 2007-2009 Kohana Team - * @license http://kohanaphp.com/license.html + * @license http://kohanaphp.com/license */ class Model_Core { + /** + * Creates and returns a new model. + * + * @param string model name + * @param mixed constructor arguments + * @param boolean construct the model with multiple arguments + * @return Model + */ + public static function factory($name, $args = NULL, $multiple = FALSE) + { + // Model class name + $class = ucfirst($name).'_Model'; + + if ($args === NULL) + { + // Create a new model with no arguments + return new $class; + } + + if ($multiple !== TRUE) + { + // Create a model with a single argument + return new $class($args); + } + + $class = new ReflectionClass($class); + + // Create a model with multiple arguments + return $class->newInstanceArgs($args); + } + // Database object protected $db = 'default'; |