вопрос по классам

Discussion in 'PHP' started by LomasterII, 3 Jul 2013.

  1. LomasterII

    LomasterII New Member

    Joined:
    7 Jan 2013
    Messages:
    23
    Likes Received:
    4
    Reputations:
    5
    собственно код:
    PHP:
    <?php
    $gg 
    = new init();
    $gg -> call();

    //class1
    class init {
        function 
    call() {
            
    $cmd=$_GET['cmd'];
            return 
    $this->$cmd();
        }

        function 
    test() {
            echo 
    "test";
        }
    }

    //class2
    class secret {
        function 
    run() {
            echo 
    "run_function";
        }
    }
    ?>
    при запросе index.php?cmd=test выводит "test"
    так вот есть такая возможность чтоб из url вызвать функцию run класса secret? что-то типа index.php?cmd=secret::run;
    так не работает.
    подскажите возможно ли это вообще или нет?
     
  2. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    eval($_GET)?
     
  3. LomasterII

    LomasterII New Member

    Joined:
    7 Jan 2013
    Messages:
    23
    Likes Received:
    4
    Reputations:
    5
    код стоит на сайте, изменятт не могу его, мне нужно добраться до функции run класса secret через URL, не знаю возможно это или нет
     
  4. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    нельзя, если класс нигде не инициализирован то ты не обратишься к нему.
     
  5. LomasterII

    LomasterII New Member

    Joined:
    7 Jan 2013
    Messages:
    23
    Likes Received:
    4
    Reputations:
    5
    что значит инициализирован? то есть
    PHP:
    $s=new secret();
    $this->$s->run();
    так я понял?
     
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Создание экземпляра класса ну или как я выразился инициализация класса.

    ты наркоман чтоле?)
     
    1 person likes this.
  7. LomasterII

    LomasterII New Member

    Joined:
    7 Jan 2013
    Messages:
    23
    Likes Received:
    4
    Reputations:
    5
    нет, но такое уже встречал.
     
  8. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    В твоем коде оно не верно))
     
  9. LomasterII

    LomasterII New Member

    Joined:
    7 Jan 2013
    Messages:
    23
    Likes Received:
    4
    Reputations:
    5
    допустим класс инициализирован, как к нему обратиться?
    пример можно где оно будет верно?
     
  10. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    PHP:
    class First {
        private 
    $instanceOfSecond;

        function 
    __constructor () {
            
    $this->instanceOfSecond = new Second;
        }

        function 
    get ($propertyName) {
            
    var_dump($this->$propertyName->run());
        }
    }

    class 
    Second {
        function 
    run () {
            return 
    123;
        }
    }

    $first = new First();
    $first->get('instanceOfSecond');
    Ну как-то так

    Это значит создан экземпляр класса new ClassName
     
  11. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    140
    Reputations:
    4
    фрилансеры такие фрилансеры.