我有这段代码,我想在控制器的每个功能中使用前 10-15 行,如何在不到处复制粘贴的情况下做到这一点?
public function fac(){
$homebanking=Auth::user();
$cliente=$homebanking->cliente();
$nome=$cliente->nome;
$id=$cliente->id;
//dd($cliente->contas()->get());
$i=0;
$contas=$cliente->contas();
foreach ($cliente->contas()->get() as $conta){
$idcontas[$i]=($conta->id);
$i=$i+1;
}
$homebanking=Auth::user();
$cliente=$homebanking->cliente();
$nome=$cliente->nome;
return view('hbpages.fac',compact('nome'));
}
public function presta(){
$homebanking=Auth::user();
$cliente=$homebanking->cliente();
$nome=$cliente->nome;
$id=$cliente->id;
//dd($cliente->contas()->get());
$i=0;
$contas=$cliente->contas();
foreach ($cliente->contas()->get() as $conta){
$idcontas[$i]=($conta->id);
$i=$i+1;
}
$homebanking=Auth::user();
$cliente=$homebanking->cliente();
$nome=$cliente->nome;
return view('hbpages.presta',compact('nome'));
}
我不完全确定你在这里做什么,但如果你正在寻找一个快速抽象,你总是可以将大部分代码添加为一个新函数,并使用前两个函数中的$this->
调用:
public function fac()
{
$nome = $this->allTheStuff();
return view('hbpages.fac',compact('nome'));
}
public function allTheStuff()
{
$homebanking=Auth::user();
$cliente=$homebanking->cliente();
$nome=$cliente->nome;
$id=$cliente->id;
$i=0;
$contas=$cliente->contas();
foreach ($cliente->contas()->get() as $conta){
$idcontas[$i]=($conta->id);
$i=$i+1;
}
$homebanking=Auth::user();
$cliente=$homebanking->cliente();
return $cliente->nome;
}