За последние 24 часа нас посетили 15184 программиста и 1671 робот. Сейчас ищут 930 программистов ...

Ссылка/Указатель

Тема в разделе "PHP для новичков", создана пользователем anthony86, 5 май 2008.

  1. anthony86

    anthony86 Активный пользователь

    С нами с:
    23 апр 2008
    Сообщения:
    24
    Симпатии:
    0
    Люди! Нужна Ваша помощь :
    есть подобная конструкция

    function fun_1()
    {
    echo "$a";
    ...
    }

    class my_class
    {

    function fun_2()
    { $a++;
    ...
    }

    }

    т.е. fun_1 должна увидеть изменение $a в методе класса, как можно это сделать, пробовал через глобальную переменную, не работает... ((
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    как пробовал?
     
  3. anthony86

    anthony86 Активный пользователь

    С нами с:
    23 апр 2008
    Сообщения:
    24
    Симпатии:
    0
    function fun_1()
    {
    echo $GLOBALS["a"];
    ...
    }

    class my_class
    {

    function fun_2()
    { $GLOBALS["a"]++;
    ...
    }

    }
     
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    и?
    PHP:
    1. <?php
    2. $a = 0;
    3.  
    4. function fun_1() {
    5.     echo $GLOBALS["a"];
    6. }
    7.  
    8. class my_class {
    9.     function fun_2() {
    10.         $GLOBALS["a"]++;
    11.     }
    12. }
    13.  
    14. $o = new my_class();
    15. $o->fun_2();
    16.  
    17. fun_1();
     
  5. anthony86

    anthony86 Активный пользователь

    С нами с:
    23 апр 2008
    Сообщения:
    24
    Симпатии:
    0
    ну у меня fun_1 описывается и вызывается сразу, а не после класса
     
  6. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Скажи что хочешь сделать. Только на реальном примере.
     
  7. nws

    nws Активный пользователь

    С нами с:
    21 авг 2007
    Сообщения:
    48
    Симпатии:
    0
    Что тебе мешает сделать так:

    PHP:
    1. class example{
    2.  
    3.   private function f1($a){
    4.       return $a;
    5.   }
    6.  
    7.   function f2(){
    8.     $this->f1;
    9.   }
    10. }
     
  8. anthony86

    anthony86 Активный пользователь

    С нами с:
    23 апр 2008
    Сообщения:
    24
    Симпатии:
    0
    да там работа с simpletest и сложно всё описать, просто значение переменной "$a" должно быть известно fun_1, но через аргументы функции нельзя передавать, так как в классе будет и fun_2 и fun_3, в которых "$a" изменяется и суммарное значение переменной "$a" из всех функций должно быть передано в fun_1, f по результату (значение переменной) fun_1 добавляет запись в таблицу или нет...

    function fun_1()
    {
    echo "$a";
    ...
    }

    class my_class
    {

    function fun_2()
    { $a++;
    ...
    }

    function fun_3()
    { $a++;
    ...
    }

    }