Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка. не могу понять в чем.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
spatium
Отправлено: 28 Января, 2014 - 23:22:56
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Возникает такая ошибка: Fatal error: Call to a member function select() on a non-object

Вызываю
PHP:
скопировать код в буфер обмена
  1. Db::getInstance()->select(_DB_NAME_);


Если вкратце код класса Db

PHP:
скопировать код в буфер обмена
  1.  
  2. class Db
  3. {
  4.         public static $instance = NULL;
  5.  
  6.         public static function getInstance()
  7.         {
  8.                 if ( self::$instance === NULL )
  9.                 {
  10.                         $class = self::get_class();
  11.  
  12.                         if ( $class )
  13.                                 self::$instance = new $class;
  14.                 }
  15.  
  16.                 return self::$instance;
  17.         }
  18.  
  19.         // Функция, возвращает класс-интерфейс для работы с заданной БД.
  20.         private static function get_class()
  21.         {
  22.                 if ( file_exists ( _DIR_ROOT_ . '/core/db/drivers/' . _DB_DRIVER
  23. _ . '.php' ) )
  24.                 {
  25.                         require( _DIR_ROOT_.'/core/db/drivers/'._DB_DRIVER_.'.ph
  26. p' );
  27.                         return _DB_DRIVER_;
  28.                 }
  29.                
  30.                 return false;
  31.         }
  32.        
  33. }      
  34.  


Класс Мускуда
PHP:
скопировать код в буфер обмена
  1.  
  2. class MySQL extends AbstractDbCore
  3. {
  4.         public function __construct()
  5.         {
  6.                 parent::__construct();
  7.         }
  8. }
  9.  


PHP:
скопировать код в буфер обмена
  1.  
  2. abstract AbstractDbCore
  3. {
  4. public function select()
  5. {
  6.  //тут логик
  7. }
  8. }
  9.  



Если кто-то знает в чем проблема, помогите, а то что-то туплю

(Отредактировано автором: 28 Января, 2014 - 23:23:20)

 
 Top
caballero
Отправлено: 28 Января, 2014 - 23:27:38
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




значит get_class не возвращает объект


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
spatium
Отправлено: 29 Января, 2014 - 01:26:15
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




caballero пишет:
значит get_class не возвращает объект


Ахахха, спасибо) точно. как всегда самое очевидное не видно.. Почему-то был убежден что все ок.. Права на папку были 700, поэтому ничего и не возвращал. Спасибо)
 
 Top
Invert
Отправлено: 05 Февраля, 2014 - 05:41:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




trigger_error в get_class спас бы вам пару часов времени ;)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB