Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вызов метода объекта внутри другой функции
 
 автор: Петр   (14.01.2008 в 20:46)   письмо автору
 
 

Скажите пожалуйста, как мне вызвать определенный метод объекта (класс описан и объект создан) внутри какой-либо функции?

Пример:
...
$db = new MySql;
...
function test() {
 ...
 $sql = "SELECT...";
 $db->getRow($sql);
 ...
}
...

Так получается ошибка, разве всегда для этого нужно создавать копию объекта? Это очень неудобно...
register_global - неподойдет, риск взлома скрипта

   
 
 автор: retsoul   (14.01.2008 в 20:51)   письмо автору
 
   для: Петр   (14.01.2008 в 20:46)
 

Если используется один клас, то может подойди вызов:

function Method() {
  ...
  }
function qwerty() {
  $this->Method();
}

а вот если вызов где-то в другом месте, то пока не знаю, не разбирался ещё :)

   
 
 автор: Петр   (14.01.2008 в 20:56)   письмо автору
 
   для: retsoul   (14.01.2008 в 20:51)
 

Нет, нужно именно не в классе этом, а вне класса описать функцию, которая работает с этим объектом

   
 
 автор: kasmanaft   (14.01.2008 в 21:43)   письмо автору
 
   для: Петр   (14.01.2008 в 20:46)
 

Просто этот $db не видно из функции. Попробуйте описать его как global.
<? 
function test() { 
 global 
$db;
 ... 
 
$sql "SELECT..."
 
$db->getRow($sql); 
 ... 
}

   
 
 автор: Петр   (15.01.2008 в 05:48)   письмо автору
 
   для: kasmanaft   (14.01.2008 в 21:43)
 

Большое спасибо. Если перечислить через запятую все внешние переменные и объекты то работает, правда это не очень удобно..
Кстати, это не влияет на безопасность скрипта?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования