| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > ООП в PHP |
| Автор: WolfAlone 6.1.2009, 03:14 | ||
| Здравствуйте! Есть в PHP 5 очень полезная штука: SQLite3. Вопрос в том, как её использовать в классах? Работа заключается в следующем: 1. $base=new PDO("sqlite:base.db"); 2. $base->beginTransaction(); //Открываем БД на чтение 3. $base->query("SQL запрос"); 4. $base->commit(); //Закрываем БД Вопрос в том, как правильно написать класс в PHP в котором бы в начале класса выполнялись строки 1 и 2, потом шли функции класса, а затем выполнялась бы строка 4. Перепробовал уже все возможные варианты! Упорно выдает ошибку синтаксиса без объяснения причин и номера ошибки!
Проблема в том, что без класса всё это прекрасно работает, а в классе - не хочет! Добавлено через 1 минуту и 13 секунд Уже 18ый час долблюсь над одной строчкой кода... |
| Автор: krundetz 6.1.2009, 10:06 | ||
WolfAlone, к сказанному SneG0K добавлю следующие:
тоесть не забудь создать экземпляр класса. А вообще возможны два пути: 1. Инкапсуляция тоесть примерно то что ты захотел сделать и 2. Наследование Что предпочесть выбирай когда прочтешь что нибудь про ООП в PHP. Про себя могу сказать что в подавляющем числе случаев удобнее работать с инкапсуляцией. |
| Автор: WolfAlone 6.1.2009, 13:30 | ||
| <?php SneG0K, спасибо огромное! Почитал про ООП в PHP, немного помогло... Только вот теперь вопрос в том, почему переменная $base не инициализируется во всех остальных функциях? При попытке сделать вот так:
При попытке сделать так, выдает ошибку: Fatal error: Call to a member function query() on a non-object in C:\Program Files\VertrigoServ\www\1.php on line 10 |
| Автор: Canarat 6.1.2009, 13:41 | ||
WolfAlone, читай ещё и про переменные в PHP и области их видимости. Можно сделать так:
|
| Автор: WolfAlone 6.1.2009, 16:58 |
| Спасибо огромное всем, кто принял участие в решении моего вопроса! Очень помогли, это прямо подарок мне на Рождество! Выражаю особую благодарность г-ну Canarat и г-ну SneG0K! Всем ещё раз огромное спасибо! Тема закрыта! |