public function __call($s_method_name, $arr_arguments) { if (!method_exists($this, $s_method_name)) { // если еще не имлементировали $s_match = ""; $s_method_prefix = ''; $s_method_base = ''; $arr_matches = array(); $bSucc = preg_match("/[A-Z_]/", $s_method_name, $arr_matches); if ($bSucc) { $s_match = $arr_matches[0]; $i_match = strpos($s_method_name, $s_match); $s_method_prefix = substr($s_method_name, 0, $i_match) . "/"; $s_method_base = substr($s_method_name, 0, $i_match + ($s_match === "_" ? 1 : 0)); } $s_class_enter = "__" . $s_method_name; // метод, общий для всех режимов if (!class_exists($s_class_enter)) { $s_entermethod_lib = "methods/" . $s_method_prefix . "__" . $s_method_name . ".lib.php"; $this->__loadLib($s_entermethod_lib); $this->__implement($s_class_enter); } $s_class_mode = "__" . $s_method_name . "_"; // метод, выбираемый в зависимости от режима if (!class_exists($s_class_mode)) { $s_modemethod_lib = "methods/" . $s_method_prefix . "__" . $s_method_name . "_" . cmsController::getInstance()->getCurrentMode() . ".lib.php"; $this->__loadLib($s_modemethod_lib); $this->__implement($s_class_mode); } } return parent::__call($s_method_name, $arr_arguments); }
public function __call($a, $b) { return parent::__call($a, $b); }