Год назад у меня была похожая задача, но код на самом деле совсем не был ОО. Я создал новый проект Yii и поместил старый сайт в качестве библиотеки в этом проекте. Затем я настроил основы в Yii, такие как доступ к базе данных, какие бы значения сессий не требовались в обоих проектах и т. Д. Затем я портировал маршрут по маршруту, функцию за функцией. Это заняло некоторое время, но это сработало очень хорошо. У меня только что был скрипт начальной загрузки, который перенаправлял запросы на основе "ported_routes".
Когда дело доходит до повторного использования классов, это не должно быть проблемой, если они хорошо структурированы без зависимостей от старого кода. Yii не накладывает никаких ограничений на эти вещи, поэтому просто добавьте их в качестве библиотек или просмотрите документы Yii и посмотрите, имеет ли смысл реорганизовать их в компоненты Yii или создать там подкласс.
Что касается CSS и JS, которые были переделаны с нуля, используя LESS и более новые библиотеки JS. Многое произошло в мире JS с момента написания оригинального кода. Yii также не требует от вас следовать какой-либо заранее определенной структуре для разметки, поэтому теоретически вы должны иметь возможность использовать старый CSS, если не хотите изменять основы разметки.
Если ваш старый код имеет MVC-подобную структуру, перенос действий и представлений будет более плавным, но я думаю, что вы останетесь с подобным подходом.