php - Avoiding $onlyActive boolean parameter -
i started using phpmd observe bad coding practices , prepare them. project uses laravel 4 php framework , implement repository pattern.
so have class called eloquentproductrepository interacts product tables in database. methods all() method have boolean parameter called $onlyactive. when true fetches active products, otherwise returned.
phpmd tells me boolean parameters sign of violation of single responsibility pattern. did reading , agree booleans should avoided. question how should refactor regards maintainability, readability , extendibility?
the method rather simple , looks follows
/** * fetches products * * @param boolean $onlyactive flag returning active products * @return collection */ public function all($onlyactive = true) { if ($onlyactive) { homecoming $this->model->where('active', true)->get(); } homecoming $this->model->all(); } i see 2 options. 1 using $options array instead key 'include_inactive'. other alternative creating 2 methods. all() , allwithinactive(). have 3 methods using $onlyactive boolean lastly alternative add together 3 methods class might create class rather big on methods. (phpmd prefers classes have no more 10 public methods)
you have 2 different functions - how it
public function getall() { homecoming $this->model->all(); } public function getonlyactive() { homecoming $this->model->where('active', true)->get(); } note function names - getall() - records, no exceptions. getonlyactive() - active records - there no "all" in function name, because doesnt "all".
php methods laravel-4 boolean
No comments:
Post a Comment