2013-08-09 2 views
-1

Как я могу иметь класс, который позволяет мне иметь другую переменную при вызове,

например.

$class->variable1->variable2->function(); 
+0

Я думаю, что переменные1 и переменные2 должны быть объектами, а класс переменной 2 должен содержать метод funcion() – user1020317

+0

Вы спрашиваете об этом, потому что считаете, что это круто или потому, что вам действительно нужно это? Вы знакомы с объектно-ориентированным программированием? –

+0

У меня есть neeed, я знаю немного о OOP – Imque

ответ

2

Если вы хотите сказать, $class->function1()->function2()->function3(), вам нужно будет return $this в конце вашей функции логики.

Как и в случае с $class->var->var->func(), вам необходимо, чтобы $class->var->var был новым экземпляром класса, к которому принадлежит функция.

2

Это то, что вы думаете:

class OtherClass { 
    public function something() { 
    return "foo"; 
    } 
} 

class Test { 
    public $variable; 
    public function Test() { 
    $this->variable = new OtherClass(); 
    } 
} 

$foo = new Test(); 
echo $foo->variable->something(); 

Но если вы хотите, чтобы вид метода цепочек сомнительна. Вероятно, вы захотите заглянуть в http://php.net/oop за полной ссылкой на объектно-ориентированное программирование с помощью PHP.

+0

Не работает .... – Imque

+0

Я исправил опечатку, теперь она должна работать. Сожалею. – fdomig

+0

Still nope ..... – Imque

Смежные вопросы