<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once(LIMB_DIR . '/core/system/objects_support.inc.php'); if(!isRegisteredResolver('object')) { include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php'); include_once(LIMB_DIR . '/core/file_resolvers/ObjectFileResolver.class.php'); registerFileResolver('object', new ObjectFileResolver(new PackageFileResolver())); } class ObjectFactory { function create($class_name, $args = array()) { ObjectFactory :: _includeClassFile($class_name); $handle =& new Handle($class_name, $args); return Handle :: resolve($handle); } function _includeClassFile($class_name) {
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once(LIMB_DIR . '/core/util/Ini.class.php'); require_once(LIMB_DIR . '/core/file_resolvers/file_resolvers_registry.inc.php'); if(!isRegisteredResolver('ini')) { include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php'); include_once(LIMB_DIR . '/core/file_resolvers/IniFileResolver.class.php'); registerFileResolver('ini', new IniFileResolver(new PackageFileResolver())); } function getIniOption($file_path, $var_name, $group_name = 'default', $use_cache = null) { $ini =& getIni($file_path, $use_cache); return $ini->getOption($var_name, $group_name); } function getIni($file_name, $use_cache = null, $resolver_name = 'ini') { if (isset($GLOBALS['testing_ini'][$file_name])) { $resolved_file = VAR_DIR . '/' . $file_name;
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once(LIMB_DIR . '/class/lib/system/objects_support.inc.php'); if(!isRegisteredResolver('site_object')) { include_once(LIMB_DIR . '/class/core/file_resolvers/PackageFileResolver.class.php'); include_once(LIMB_DIR . '/class/core/file_resolvers/SiteObjectFileResolver.class.php'); registerFileResolver('site_object', new SiteObjectFileResolver(new PackageFileResolver())); } abstract class SiteObjectFactory { static function create($class_name) { self :: _includeClassFile($class_name); return new $class_name(); } static protected function _includeClassFile($class_name) { if(class_exists($class_name))
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once(LIMB_DIR . '/core/error/Debug.class.php'); if(!isRegisteredResolver('dao')) { include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php'); include_once(LIMB_DIR . '/core/file_resolvers/DAOFileResolver.class.php'); registerFileResolver('dao', new DAOFileResolver(new PackageFileResolver())); } class DAOFactory { var $daos = array(); function & instance() { if (!isset($GLOBALS['DAOFactoryGlobalInstance']) || !is_a($GLOBALS['DAOFactoryGlobalInstance'], 'DAOFactory')) $GLOBALS['DAOFactoryGlobalInstance'] =& new DAOFactory(); return $GLOBALS['DAOFactoryGlobalInstance']; }
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id: DataMapperFactory.class.php 1352 2005-06-07 15:35:29Z pachanga $ * ***********************************************************************************/ require_once(LIMB_DIR . '/core/system/objects_support.inc.php'); if(!isRegisteredResolver('mapper')) { include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php'); include_once(LIMB_DIR . '/core/file_resolvers/DataMapperFileResolver.class.php'); registerFileResolver('mapper', new DataMapperFileResolver(new PackageFileResolver())); } class DataMapperFactory { function create($class_name) { DataMapperFactory :: _includeClassFile($class_name); $mapper =& new $class_name(); if(!is_a($mapper, 'AbstractDataMapper')) die($class_name . ' does not implement AbstractDataMapper interface'); return $mapper; }
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once(LIMB_DIR . '/core/system/objects_support.inc.php'); if(!isRegisteredResolver('db_table')) { include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php'); include_once(LIMB_DIR . '/core/file_resolvers/DbTableFileResolver.class.php'); registerFileResolver('db_table', new DbTableFileResolver(new PackageFileResolver())); } class LimbDbTableFactory { var $_tables; function & instance() { if (!isset($GLOBALS['LimbDbTableFactoryGlobalInstance']) || !is_a($GLOBALS['LimbDbTableFactoryGlobalInstance'], 'LimbDbTableFactory')) $GLOBALS['LimbDbTableFactoryGlobalInstance'] =& new LimbDbTableFactory(); return $GLOBALS['LimbDbTableFactoryGlobalInstance']; }
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once(LIMB_DIR . '/class/lib/system/objects_support.inc.php'); if(!isRegisteredResolver('finder')) { include_once(LIMB_DIR . '/class/core/file_resolvers/PackageFileResolver.class.php'); include_once(LIMB_DIR . '/class/core/file_resolvers/FinderFileResolver.class.php'); registerFileResolver('finder', new FinderFileResolver(new PackageFileResolver())); } abstract class FinderFactory { static function create($class_name) { self :: _includeClassFile($class_name); return new $class_name(); } static protected function _includeClassFile($class_name) { if(class_exists($class_name))
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once(LIMB_DIR . '/class/lib/error/Debug.class.php'); if(!isRegisteredResolver('datasource')) { include_once(LIMB_DIR . '/class/core/file_resolvers/PackageFileResolver.class.php'); include_once(LIMB_DIR . '/class/core/file_resolvers/DatasourceFileResolver.class.php'); registerFileResolver('datasource', new DatasourceFileResolver(new PackageFileResolver())); } class DatasourceFactory { static protected $datasources = array(); static public function create($class_path) { $class_name = end(explode('/', $class_path)); if(isset(self :: $datasources[$class_name])) return self :: $datasources[$class_name]; if(!class_exists($class_name))