8. Причем здесь руби если чел спрашивает о ООП на php? и тем более причем здесь JS у которого ООП кардинально отличается по реализации.
1. Если вкратце - нужно это только для того, что бы все было "по полочкам", ну и кроме того имеет много полезных фишек для соблюдения DRY (не повторять куски кода). Все логически завершенные блоки нужно выносить в методы, особенно те, которые могут использоваться в других местах. Нужно это для того что бы не получались простыни кода в которых будет сложно ориентироваться. Суть ООП в том что бы все было структурировано и логически понятно не только для тебя а и других прогеров которые будут работать с проектом. Вместо лапша кода у тебя будет к примеру модель
Заказы: добавить заказ, обновить, удалить и тд.
Тоесть ты создаешь класс как группировку всего того, что касается работы с заказами и туда выносишь все методы.
Про полиморфизм, наследование и инкапсуляцию - почитай, если что не понятно - задавай вопросы.