2015-07-17 5 views
0

Вот мой код:PHP: цепочки методы с переменными методами

return PDF::loadFile($url) 
    ->setPaper('a4') 
    ->setOption('margin-top', 10) 
    ->stream('somefile.pdf'); 

Как я называю этот метод на нескольких местах, есть какой-то вариант, чтобы назвать его так, как это?

return PDF::loadFile($url) 
    ->callSettings() 
    ->stream('somefile.pdf'); 

Где находятся ->setPaper('a4')->setOption('margin-top', 10).

+3

вы должны сделать метод «callSettings» в объекте, возвращенного PDF :: LoadFile() (я предполагаю, что это PDF ...). Если это так, сделайте метод в классе PDF, возвращающий this-> setPaper ('a4') -> setOption ('margin-top', 10) (вам, возможно, придется использовать 'self ::' вместо '$ this-> ' – Random

ответ

1

Это очень просто. Просто реализовать новый метод callSettings() в PDF класса, который вызывает эти методы и возвращает $this:

public function callSettings() 
{ 
    $this->setPaper('a4') 
     ->setOption('margin-top', 10); 

    return $this; 
} 
Смежные вопросы