OOP is not about surrounding parts of your main code in class definitions and adding $this-> in front of everything in order to make it work. This is just exchanging one defining/calling syntax for another and adding a lot of typing, without adding a any value.
Any user written Class or Function should be general purpose, reusable, and be responsible for doing one thing, i.e. they should be building blocks that help you to write applications. They should not contain any application specific value, code, or query that you would need to touch just because you move an application to a different server/domain or write an application that does something different. After you design, write, test, and debug any user written Class or Function, you should be able to tuck it away in a file in a folder, then just load the definition and use it when needed. If you are constantly editing or copy/pasting/renaming Classes or Functions, it is a sign that your code has the wrong responsibility and is not general purpose.
If you have more than about 2-3 inputs, you should use a data-driven design, where you have a data structure (array or database table) that defines the expected inputs, the validation steps, and the processing for each input. You would also keep the input data as an array and operate on elements in that array using array functions (arrays are for sets of data where you will operated on each member in the set in the same or similar way.) You would then dynamically validate, then process the data, by looping over the defining structure and use general-purpose code to perform operations on the data. If you find yourself writing out line after line and block after block of code that only differs in the input value it operates on, it is a sign that you are doing things the hardest way possible. You are not using the computer as a tool to help you accomplish a task, you are doing the work yourself.