{% else-1 %}
Обновить
* Тема закрыта!
1.
Alexis * 1.29
[автор] (15 авг 2015, 15:27) [0/0] [0] [спам] [под]

Добрый день. У меня такая проблема: создал класс user для работы с пользователями. И в нем хочу создать свойство $db, которое через метод должно выдрать глобальную переменную $db (подкл. к mysqli). Как это сделать, вот в чем вопрос. Попытался сделать так:
private function db() { $this->db = global $db; }
Но делать так нельзя. Помогите кто может, а то уже давно голову ломаю

2.
Mobiaaa * Верифицирован 2.73
(15 авг 2015, 15:28) [0/0] [0] [спам] [под]

private function db() {
global $db;
$this->db = $db;
}

3.
Alexis * 1.29
[автор] (15 авг 2015, 15:30) [0/0] [0] [спам] [под]

Mobiaaa, как я раньше до этого не допер)) спасибо огромное *

4. (15 авг 2015, 15:31) [0/0] [0] [спам] [под]

полноценный пример

<?php

class user{
private $db = array();

public function getSql($sql){
$this->db = $sql;
}

public function info($id){
$query = $this->db->query('select * from `users` where `id` = "'.$id.'"')->fetch_assoc();

return $query;
}
}

// работа с классом
$user = new user;
$id = 1;
// Подключаем БД
$user->getSql($mysqli);
// вывод информации
$info = $user->info($id);

echo $info['login'];
?>

5.
Alexis * 1.29
[автор] (15 авг 2015, 15:32) [0/0] [0] [спам] [под]

LigalizeIt, спасибо, возьму на заметку)

6.
elfi * 10.05
(15 авг 2015, 15:43) [0/0] [0] [спам] [под]

еще вариант замутить родительский класс и оттуда дергать бд

7.
Alexis * 1.29
[автор] (15 авг 2015, 15:45) [0/0] [0] [спам] [под]

elfi, я думал над этим. но классов у меня немного (пока), поэтому необходимости в этом (пока) нет)

8. (15 авг 2015, 15:49) [0/0] [0] [спам] [под]
elfi,

Обертку народным язиком *

9. (17 авг 2015, 00:02) [1/0] [1] [спам] [под]

Юзать глобальные переменные не правильно. В твоём случае можно сделать в классе юзеров свойство db статическим и в начале скрипта назначить ему $db. Но это тоже не очень хорошо.
Второй вариант сделать свойство БД статическим, что даст глобальную область видимости к свойству БД.
Третий вариант самый подходящий - Registry. Класс регистратор

10.
Alexis * 1.29
[автор] (17 авг 2015, 09:49) [0/0] [0] [спам] [под]

Rakovskiy, класс регистратор? чтобы до конца понять, можешь привести пример?

Подписаны: 1
Скачать тему | Файлы темы | Фильтр сообщений