Как использовать объект как поле класса в php?
-  $db = $data_base_object;
+  $this->db = $data_base_object;
Ошибка в конструкторе. Объект класса Базы Данных присваевается переменной $db вместо $this->db
Сделать родиельский класс, в котором будут грузиться классы для БД, сессии итп в его свойства.
Затем, при создании новых классов екстендить родительский, например:class MainLogic {
	protected $db;

	function __construct() {
		$this->db = new DB('login', 'pass', 'database'); // получаем инстанс, короче
	}

        function testDb() {
             $this->db->query('...'); // will work! 
       }

}

class User extends MainLogic {
	
	public function addUser() {
		$this->db->query(''); // also will work, тут уже это св-во есть, тк мы его пронаследовали от MainLogic
	}

}
P.S. Если класс с логикой только один (что, в большинстве случае, также не может быть правильно) - то просто в __constuct присваивайте $this->db ссылку на класс базы и из методов MainLogic обращайтесь через $this->db.
P.P.S. Не знаю, какой класс для работы с БД юзаете Вы, но для этих дел уже есть ActiveRecord, например.