KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to make some kind of function that loads and instantiates a class from a given variable. Something like this: <?php function loadClass($class) { $sClassPath = SYSPATH."/classes/{$class}.php"; if (file_exists($sClassPath)) { require_once($sClassPath); $class = $class::getInstance(); } } ?> If I use it like this: <?php loadClass('session'); ?> It should include and instantiate the session class. BTW: the static getInstance function comes from this code: <?php function getCallingClass() { $backtrace = debug_backtrace(); $method = $backtrace[1]['function']; $file = file($backtrace[1]['file']); $line = $file[($backtrace[1]['line'] - 1)]; $class = trim(preg_replace("/^.+?([A-Za-z0-9_]*)::{$method}\(.*$/s", "\\1\\2", $line)); if(! class_exists($class)) { return false; } return $class; } class Core { protected static $instances = array(); public static function getInstance() { $class = getCallingClass(); if (!isset(self::$instances[$class])) { self::$instances[$class] = new $class(); } return self::$instances[$class]; } } ?> The thing is that right now the way to use the functions in a class is this: <?php $session = session::getInstance(); ?> But now I want to build that into a function so that I never again have to use that line of code. I just say loadClass('session'); and than I can use $session->blablablafunction();
Tags (comma-separated)
Save Edits
Cancel