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

Форум PHP

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

 

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

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

тема: функция "пропадает и появляется"
 
 автор: wUPS   (14.09.2007 в 15:48)   письмо автору
 
 

такая интересная вещь, пожалуй не вопрос а просто ради интереса, вдруг кто то с подобным сталкивался?

Установил дополнительное расширение для php, которое определяет класс (допустим, myclass)
В нем так же определен метод method.
Вот фрагмент кода:


<?php

$my 
= new myclass();
$id $my->method($var2);

?>


Получаю сообщение вида
"call to undefined function - method()"
якобы, функции не существует.
ТОгда же (просто ради интереса), переделал код след. образом :

<?php

function myMethod($var)
{
     RETURN 
$var->method();
}

$my = new myclass();
$id =myMethod($var2);

?>

Самое удивительное, что при этом код РАБОТАЕТ! Тоесть, получается что функция, вызываемая в моей фуекции, работает, а сама по себе - даже не определена??
чем это можно объяснить?

   
 
 автор: bronenos   (14.09.2007 в 16:18)   письмо автору
 
   для: wUPS   (14.09.2007 в 15:48)
 

откуда взялось $var2

   
 
 автор: wUPS   (14.09.2007 в 16:27)   письмо автору
 
   для: bronenos   (14.09.2007 в 16:18)
 

bronenos, в самом скрипте переменная четко определена. здесь я просто для наглядности написал фрагмент

   
 
 автор: bronenos   (14.09.2007 в 17:48)   письмо автору
 
   для: wUPS   (14.09.2007 в 16:27)
 

ну так может напишите ту строчку тоже? а то мне здесь все ясно, кроме нее
выходит, что вы передаете в качестве параметра объект
а что method должен сделать с ним и что вернуть?

   
 
 автор: cheops   (15.09.2007 в 11:31)   письмо автору
 
   для: wUPS   (14.09.2007 в 15:48)
 

Метод method() объявлен как открытый в классе myclass?

PS В объектно-ориентированной модели PHP глюков хватает - можете и не такое встретить.

   
 
 автор: Poison   (15.09.2007 в 12:46)   письмо автору
 
   для: cheops   (15.09.2007 в 11:31)
 

Скорее всего он обьявлен как privat или protected

   
 
 автор: mefestofel   (15.09.2007 в 12:54)   письмо автору
 
   для: wUPS   (14.09.2007 в 15:48)
 

Можно посмотреть на это расширение?

   
 
 автор: wUPS   (16.09.2007 в 13:52)   письмо автору
 
   для: mefestofel   (15.09.2007 в 12:54)
 

Расширение ffmpeg-php
( http://ffmpeg-php.sourceforge.net )
Опеределяет класс ffmpeg_movie(), причем при вывове встроенной общедоступной toGDimage(), получаю эту ошибку. Сначала думал что это из-за ошибки в сборке, потом тестировал на 5 разных серверах - все одно и то же =) Пока не запихнул этот метод в свою функцию.. ПРосто трезвому объяснению не поддается ))

   
 
 автор: wUPS   (16.09.2007 в 13:56)   письмо автору
 
   для: wUPS   (16.09.2007 в 13:52)
 

Наверное, cheops прав на счет глюков..

   
Rambler's Top100
вверх

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