Как определить имя класса-потомка?

shad541

Новичок
Как определить имя класса-потомка?

Добрый день!
Подскажите, плз, возможно ли вообще и если возможно то как узнать в родительском классе имя класса-потомка.

Задача, собсвенно говоря, такова: пишу класс для работы с различными базами данных. Соответственно, есть родительский класс sql и производные от него mysql и sqlite. В родительском классе определен метод работы с placeholders, одинаковый для всех СУБД. Разница только в том, что для экранирования спец. символов используются разные функции (для mysql - mysql_real_escape_string(), для sqlite - sqlite_escape_string()). Соответственно, в производных классах определен метод escape. Проблема в том, что при вызове метода по работе с плейсхолдерами не находится метод escape. А вот если вызывать ее с указанием класса (напр. mysql::escape), то все нормально. Поэтому и возник вопрос (см. subj)

Всем зараннее спасибо!
 

Krishna

Продался Java
Соответственно, в производных классах определен метод escape. Проблема в том, что при вызове метода по работе с плейсхолдерами не находится метод escape.
Какая-то ошибка. Нужно с этим разобраться, а не извращаться. ПХП5?
 

zerkms

TDD infected
Команда форума
разберись с классом - это у тебя какие то проблемы
ps: вынеси метод экранирования в наследников - дабы логику уже на месте определять
 

shad541

Новичок
Krishna
PHP 5.1.2

zerkms
я в ООП новичек :))
Метод экранирования и так вынес, не работает: Call to undefined function escape() in e:\www\cms\www\lib\sql.inc.php

На всяк случай повторюсь: надо вызвать метод потомка из метода родителя

-~{}~ 12.04.06 13:53:

svetasmirnova
abstract protected function escape($str);
 
Сверху