public function __construct($category_name, $written_language_tag) { $language_model = new LanguageModel(); $this->written_language_id = $language_model->getWrittenLanguageIdByTag($written_language_tag); $product_db_class_name = StrLib::underlineToClassName($category_name) . 'Db'; $product_attribute_value_wlp_db_class_name = StrLib::underlineToClassName($category_name) . 'AttributeValueWlpDb'; $this->product_db = new $product_db_class_name(); $this->product_attribute_value_wlp_db = new $product_attribute_value_wlp_db_class_name(); }
public function __construct() { if (empty($this->db)) { $db_engine = ConfigParserLib::get('db', 'using_db_engine'); $db_engine_class_name = StrLib::underlineToClassName($db_engine . 'DbEngine'); $db_server_name = ConfigParserLib::get('db', 'db_engine_to_server_name_map[\'' . $db_engine . '\']'); $db_config = ConfigParserLib::get('system', 'db_servers[\'' . $db_server_name . '\']'); $this->db = new $db_engine_class_name($db_config); } }
} } $controller_map = array('categories' => 'category', 'products' => 'product', 'qiniu' => 'qiniu'); try { $request_method = $_SERVER['REQUEST_METHOD']; $uri = $_SERVER['REQUEST_URI']; //比如 /users/1 $pos = strpos($uri, '?'); if ($pos !== false) { $uri = substr($uri, 0, $pos); } $uri_array = explode('/', $uri); //移除空 array_shift($uri_array); //结果array('users', '1') //判断类是否存在 if (!isset($controller_map[$uri_array[0]])) { throw new ControllerException(501); } $controller_prefix = $controller_map[$uri_array[0]]; $class_name = StrLib::underlineToClassName($controller_map[$uri_array[0]]) . 'Controller'; $controller = new $class_name(); $data = $controller->router($uri); $result = array('result' => array('status' => array('code' => 200, 'msg' => ''), 'data' => $data)); BasicController::output($result, $content_type); } catch (ControllerException $e) { $error = $e->getMessage(); $data = array('result' => array('status' => json_decode($error, true))); BasicController::output($data, $content_type); } exit;