Все они были вне фрймворка, т.е. использовались отдельно друг от друга. Насколько я понимаю, это не очень хорошая практика.
Да это лучшая в мире практика, использовать только то что действительно необходимо!
Вообще говоря, вам подойдет любой фреймворк, все фреймворки удовлетворяют вашим требованиям. Но так уж и быть, посоветую Symfony 3 :)