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:

  1. Ser MVC: Ter a camada de view, de controller, de model
  2. Permitir o uso de template bind: Ou seja, se o controller exporta uma variável "foo", ele pode ser lida na view
  3. 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.