Acho louvável a ideia de criar um framework como base de estudo. Realmente é um desafio.
Como você falou do PHP, acho que um framework do zero deve ter algumas coisas iniciais:
- Ser MVC: Ter a camada de view, de controller, de model
- Permitir o uso de template bind: Ou seja, se o controller exporta uma variável "foo", ele pode ser lida na view
- Possuir um ORM: Assim fica fácil fazer cruds e operações mais simples no SQL, sem digitar SQL
Eu ja participei ativamente da construção de 2 frameworks onde trabalho, um em 2002 (SIM, 2002!) e outro em 2007. Agora estamos migrando tudo pra spring boot + angular.