| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Вызов метода класса из функции |
| Автор: HipJ 11.9.2007, 15:16 | ||||||
| Помогите Использую DBSimple в своем скрипте
если далее использовать этот класс
то все в порядке а если все тоже самое, но в функции
то появляется ошибка Notice: Undefined variable: DB in j:\home\testbed2\www\lib\components\livescores.php on line 19 Fatal error: Call to a member function selectCell() on a non-object in j:\home\testbed2\www\lib\components\livescores.php on line 19 объясните почему так происходит.. и что сделать для решения данной проблемы. |
| Автор: IZ@TOP 11.9.2007, 15:30 | ||
Патамушта нужно брать переменную $DB из суперглобального массива $GLOBASL, или объявлять ее в начале функции:
Добавлено через 34 секунды Ну, или что еще лучше, использовать паттерн Singletone. |
| Автор: mishaSL 11.9.2007, 15:41 |
| Или передавать класс в функцию как аргумент. |
| Автор: IZ@TOP 11.9.2007, 15:50 |
Изврат. |
| Автор: Acer 11.9.2007, 15:51 |
| Лучше ссылку на обьект... |
| Автор: mishaSL 11.9.2007, 16:45 |
Почему же изврат, по мне это куда удобнее чем global $DB. Но это кому как удобнее. Оооо... только сейчас заметил, что ошибся в попыхах... ссори не класс конечно же передавать, а объект. В PHP5 все объекты по умолчанию передаются по ссылке, в PHP4 конечно надо указать & |
| Автор: mishaSL 11.9.2007, 18:55 |
Просто я недолюбливаю использование global в принципе. |
| Автор: WolfON 11.9.2007, 19:18 |
| а лучше упаковать в класс и $this->db |
| Автор: HipJ 11.9.2007, 19:58 |
| Всем большое спасибо! |