Как обрабатывать множество повторяющихся параметров в create()
. Мне нравится выглядеть аккуратно и читаемо.Как бороться с повторяющимися параметрами?
Например, в контроллере имеется метод addList
() со многими параметрами.
public function addList(CreateListRequest $request)
{
$created = $this->list->create(
$request->user(),
$request->name,
$request->subject,
$request->description,
$request->location,
$request->do_email,
$request->provider,
$request->something1,
$request->something2,
);
}
В List
классе имеет а создать методы, которые также много повторяющихся много параметров. И в $this->api->create()
и $this->listRepository->create()
, которые также повторяются. Есть ли способ очистить это или реорганизовать это?
class List
{
public function create($user, $name, $subject, $description, $location, $doEmail, $provider, $something, $something2)
{
$list = $this->api->create($name, $subject, $description, $location);
if ($list->status == "success") {
// Add to database
$row = $this->listRepository->create($user->id, $name, $subject, $description, $location, $doEmail, $provider, $something, $something2);
return $row;
}
return false;
}
}
Мне кажется, единственным параметром, который требуется '' методу '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''. Является ли метод 'create()', используемый другими объектами, и все они имеют одну и ту же подпись? – jeroen
Я бы разместил это на http://codereview.stackexchange.com/ – JimL
Будет ли класс ListForm вписываться в вашу структуру? В Symfony вы создаете классы форм, передаете ему запрос и заполняете данные формы на основе запроса, могут быть расширены, чтобы выполнять проверки и т. Д. Если это так, вы можете сделать что-то подобное в addList: '$ form = new ListForm(); $ Форма-> handleRequest ($ запроса); $ created = $ this-> list-> create ($ form); 'И тогда List :: create может быть' create (ListForm $ form) ', который даст автозаполнение и т. д. – JimL