Здравствуйте форумчане! У меня возникла небольшая проблема. Существует ли возможность обращения к функциям внутри класса, не используя через класс в котором она, функций и переменных от которой она зависит. Просто я использую небольшой класс-хэлпер для ПДО и зачастую при выборке приходится обращаться так: Код (Text): $table = 'City'; $where_equals = array ( 'CountryCode' => 'NLD', 'District' => 'Zuid-Holland' ); $result = pdo::getManager()->select($where_equals, $table, true); Как видите запись довольно длинная и каждый раз набирать неохото, можно ли опять же сделать короче? Из $result = pdo::getManager()->select_db($where_equals, $table, true); В $result = select_db ($where_equals, $table, true); В этом же классе написать функцию чтоб убрать лишнее
function select_db ($where_equals, $table, $flag) {return pdo::getManager()->select_db($where_equals, $table, $flag);}
Я думаю вы с одной стороны правы, у меня просто голова кипела я ни чего не соображал вообще я хотел полностью убрать обращение $class->funcion(); и сделать просто funcion(); , понимаю я был не прав в написании вопроса и за это извеняюсь. Буду рад если поможете. Так же у меня есть вопрос опять же по функции в классе, хочу заметить писал сам: Код (Text): public function select ($what, $table, $where, $orand = NULL, $param = NULL) { $values = array_values ($where); $columns = array_keys ($where); foreach ($columns as $key) { $keys = $key . " = ?"; $mark[] = $keys; } $count_what = count($what); if ($count_what > 1) { $imploded_what = implode (', ', $what); } $count = count($where); if ($count > 1) { $imploded_value = implode(' ' . $orand . ' ', $mark); $query = $this->DB_CONNECTOR->prepare("SELECT $imploded_what FROM $table WHERE $imploded_value $param"); } else { $imploded_value = implode ('', $mark); $query = $this->DB_CONNECTOR->prepare("SELECT $imploded_what FROM $table WHERE $imploded_value $param"); } $query->execute($values); if (!$what == '*') { $i = 0; $name = array_values ($what); while ($i <= $count_what) { $fetch = $query->fetch(); $$name [$i] = $fetch [$i]; $i++; } } } Код верен и работает, кроме последних 6 строк (не считая "}"). Я хотел бы чтоб возращались сразу готовые переменные, с именами запрашиваемых колонок таблицы ($what) . Он мне возвращает только id. Но если написать echo $$name [$i]; после $$name [$i] = $fetch [$i]; скрипт выводит всю нужную инфу. Надеюсь поможете. Добавлено спустя 45 минут 11 секунд: Вопрос закрыт, я понял что нафиг эти запары не нужны) Но на фоне него возник другой, что если надо будет задать параметр WHERE id >199 напремер ведь на выходе получится WHERE id = >199. Как это исправить?