2016-05-13 3 views
0

У меня вопрос о том, как лучше всего это реализовать.Как связать методы в PHP?

class name { 
    public function method($a){ 
    $this->a = $a; 
    } 
    public function two($b){ 
    $this->b = $b; 
    } 
} 

Как я называю $class->method('a')->two('b');?

return __CLASS__; // self? 

на каждый способ? или что? idk, что является лучшим способом или как все фреймворки осознают это.

Если кто-нибудь может вести меня, я буду очень благодарен ... спасибо!

+0

Вы имеете в виду '$ obj->'? –

ответ

9

Это делается путем возврата $this в каждом методе.

class name { 
    public function method($a){ 
    $this->a = $a; 
    return $this; 
    } 
    public function two($b){ 
    $this->b = $b; 
    return $this; 
    } 
} 

В любом случае, существует много противников (включая меня) этого соглашения по нескольким причинам.

+0

так просто? : O! Благодарю. Я попробую: D – carlos

+2

Мне любопытно, каковы ваши причины против этого соглашения. Лично я использовал это соглашение с моих дней C++. – apokryfos

+0

Ищите «цепочку методов». В Интернете много дискуссий. Вот пример: http://stackoverflow.com/questions/16976150/benefits-and-drawbacks-of-method-chaining-and-a-possibility-to-replace-all-void –

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