Как научиться проектировать программы в ооп стиле?
Посмотрите в сторону предметно ориентированного проектирования (DDD).

- https://habr.com/ru/post/269589/
- https://habr.com/ru/post/269893/
- https://habr.com/ru/post/267125/

Хорошие книги по этой теме:
- Роберт Мартин "Чистый код Создание, анализ и рефакторинг"
- Роберт Мартин "Чистая архитектура"
- Стив Макконнелл "Совершенный код"

Если сможете найти исходники похожих на ваш проектов - изучите их,
посмотрите как там решались подобные задачи.

Еще очень хороший вариант - найти опытного разработчика и попросить его сделать review вашего кода, чтобы он объяснил вам как вот тут лучше сделать, а как там можно было сделать и почему именно так будет лучше.
тебе не знания не хватает, а понимания и практики. самый простой вариант начать осваивать фреймворки, хорошо бы laminas/simphony, но для начала и phpixie/slimphp хватит.