MVC, как обеспечивать независимость классов друг от друга?
ведь в таком случае мы нарушаем правило о том, что у каждая модель работает только со своей таблицей базы данных
Это правило только для паттерна ActiveRecord. Но я бы не назвал класс ActiveRecord моделью.
Так как автор и его видео — это отношение один ко многим, можно реализовать получение автора по видео:$modelVideo->getVideoFromID($video_id);
$modelVideo->author()->name;
С лайками то же самое, только у одного видео может быть много лайков.$modelVideo->getVideoFromID($video_id);
$modelVideo->likes()->checkIfUserVoted($user_id);