Le plus important en développement c'est de ne pas chercher à aller trop vite. On pourrait être tenté de se diriger tout de suite vers les solutions modulables, approuvée, type framework, quitte à n'en pas comprendre toute la substance et à se démerder avec ce qu'on arrive à faire. Après tout même si le code est dégueulasse ça fonctionne !
Le problème c'est qu'en faisant ça on devient dépendant de l'outil qu'on utilise puisque les connaissances fondamentales liée au développement PHP dans notre cas ne seront pas totalement acquises.
Pour moi le plus important pour se familiariser correctement avec le PHP c'est dans un premier temps de s'initier aux bases, via un tuto comme celui sur le site du zéro ou bien les vidéos de ce site. Comprendre la notion d'exécution côté serveur et l'utilisation conjointe d'une base de données.
Une fois que les bases et les principaux fonctionnements sont bien compris, on se rend alors compte qu'on ne sait souvent pas très comment s'organiser pour un projet, on se rend compte qu'on sait globalement de quoi on aura besoin mais vraiment du bon nombre de fichiers, ni de leur bon emplacement, etc. De plus, on va être amené à sûrement dupliquer notre code plusieurs fois dans notre application. Quand on commence c'est pas très grave, ça forme. C'est donc à ce moment là qu'il faut se tourner vers les modèles de conception, et notamment le modèle MVC, très bien adapté au développement web. Pour ça je te conseil dans un premier temps d'essayer de comprendre ce que c'est de manière complètement théorique, pour en comprendre le fonctionnement global, sans entrer dans le code en lui même. Si tu as déjà un bon niveau en PHP tu peux par exemple t'inspirer d'une architecture MVC non orientée objet que j'ai réalisée (mais qui n'est pas du tout à jour) : IMAC_MVC
Une fois que tu as compris les principes du modèle MVC tu ne pourra plus t'en passer, et pour appliquer toute sa modularité à ton code tu vas devoir passer par l'apprentissage de la programmation orientée objet en php. Au moins les bases. Une fois que tu as ça je te conseil de suivre le très bon tutoriel de Grafikart sur le modèle MVC objet.
Quand tu aura compris les fondements du modèle MVC objet et que tu sera capable de créer ta propre architecture, même avec de l'aide à côté, alors là tu pourra réellement te lancer dans l'utilisation d'un framework type CakePHP. L'architecture te sera familière et de plus tu aura le niveau requis pour comprendre globalement les fichiers du core si besoin est.
Pour résumé on devient pas un développeur autonome, rigoureux et qui fait preuve de discernement en s'attaquant directement aux framework, car comme leur nom l'indique ils sont composés d'outils, et pour les manier correctement il faut déjà s'avoir se servir de ceux de base. Concernant les frameworks maison il n'est pas rare (voire même très courant) qu'une agence web en vienne à un moment ou à un autre à créer son propre framework, car elle a besoin très spécifique que la modularité d'un framework classique n'apportera pas directement.
Toujours est-il que même si tu dois réaliser ton propre framework (et plus généralement pour n'importe quel projet de développement) tu dois toujours essayer de récupérer des briques qui ont été faite par ci par là pour ne jamais réinventer la roue. Au début on est très tenté de se dire qu'on va tout refaire à partir de zéro sinon c'est de la "triche", mais crois moi, pour l'avoir tenté on perd au final BEAUCOUP plus de temps pour un projet qui au final n'est pas forcément viable. Fabien Potencier le création de Symfony à d'ailleurs dans cet optique écrit une série d'article sur la ré utilisabilité de ses composants pour créer son propre framework à partir de briques déjà solide. Tu trouvera une traduction ici mais il faut être déjà sensible à l'architecture de Symfony, et à tout ce que j'ai mentionné ci dessus ;)
Après je ne connais pas ton niveau et mon message est assez général et s'adresse à tout le monde bien sûr ^^
Bonne chance !