|
|
|
| У меня есть класс подключения к БД, как мне из другого класса подключиться?
<?
class mysql
{
......
public function query($sql)
{
$result = mysql_query($sql, $this->conn_id);
..................
}
}
class A {
function sql ($q){
$sql = "INSERT INTO ".$q."..............."
mysql::query($sql); // Не помогает...
}
function test($tbl) {
$this->$sql($tbl);
}
}
$check = new A();
$check->test('table');
?>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(12.03.2012 в 22:00)
| | Вы ошибки то читать не пробовали который приведенный вами код выводит? Они наверное что-то полезное сообщают. | |
|
|
|
|
|
|
|
для: gOFREe
(12.03.2012 в 22:00)
| | >mysql::query($sql); // Не помогает...
У вас метод query() не статичный, нельзя к нему обращаться через ::, нужно объявлять объект класса mysql и писать что-то вроде $obj->query($sql); или переписывать класс mysql так, чтобы его метод query() был статичным. | |
|
|
|
|
|
|
|
для: gOFREe
(12.03.2012 в 22:00)
| | У меня встречный вопрос, наверное в тему.
Например, мы включаем класс A в класс B, предполагается работать только с классом B, а класс A чисто вспомогательный и используется исключительно внутри класса B, причем без "должной" инициализации класса A - класс B работать не будет. Под "должной" инициализацией я подразумеваю передачу определенного параметра (скажем ID) в конструктор класса B, на основе этого параметра инициализируется класс A.
Так вот, необходимо на этапе конструктора класса B попытаться инициализировать класс A и, если данное действие завершилось неудачей, "прекратить" конструкцию класса B. Вернуть false или что-то в этом роде. Подскажите, пожалуйста, как это правильно организовать? | |
|
|
|
|
|
|
|
для: Igorek
(16.03.2012 в 07:20)
| | Лучше всего сгенерировать исключение и "поймать" его снаружи.
PS Под новые вопросы, лучше все-таки заводить новые темы. | |
|
|
|