Extract options functionality to a new class
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 66
- Forks
- 36
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 16
Description
Is your feature request related to a problem?
Most if not all of our options core functionality is within the Parsely class, which is a kind of catch-all class that has been growing lately.
Describe the solution you'd like
Extract the options functionality to a dedicated Options (or similarly named) class. While we are at it, we can consider:
- Making some functions static.
- Replacing the options array with a typed object in the code. The object could still be saved as an array into the database. We currently use phpstan types for checking the correctness of this array, but this isn't without its shortcomings.
Even the simple scenario of just moving functionality outside of the Parsely class might need changes in many other places.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Parsely class and its options-related functionality, then trace the options array through its callers and database persistence. Review the existing phpstan types and identify the affected locations before deciding the scope. Done means the options responsibility is separated from Parsely without breaking current option storage or behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100