Après avoir lu certaines des réponses, je voudrais d'abord dire que vous n'avez souvent pas beaucoup d'option sur le cadre que vous allez utiliser ou si vous allez en utiliser un ou non (en tant que professionnel). Je ne veux pas vous intimider, mais vous devrez acquérir une compréhension suffisante de PHP pour permettre de passer d'un framework à un autre en utilisant plus d'un framework à la fois.
quand dois-je utiliser un framework PHP tel que CakePHP?
Il n'y a pas de réponse universelle à cela. En tant que professionnel, vous allez être chargé de résoudre des problèmes spécifiques et ce sera le facteur décisif pour quand et quoi de chaque projet, surtout si un client a une demande spécifique. Mais d'une manière générale, vous utiliserez toujours une certaine forme de framework avec PHP, à moins que vous ne modifiiez ou étendiez une application préexistante qui a son propre framework (comme Wordpress ou PHPBB).
Quelles sont les choses que cela et d'autres frameworks PHP similaires m'offrent?
Comme l'a dit dirk, ils proposent l'abstraction. Cela signifie qu'ils suivent des procédures communes en plusieurs étapes et essaient de les rendre aussi simples et rationalisées que possible. En bref, ils essaient de présenter des solutions d'ajout d'eau pour les tâches courantes.
Et est-il vraiment important d'utiliser un cadre pour être un professionnel?
De manière générale, non, il n'est pas important d' utiliser un cadre pour être professionnel. Mais en réalité, vous n'aurez pas beaucoup de carrière si vous n'êtes pas familier avec au moins quelques cadres communs. PHP sans framework est comme C ++ sans bibliothèque std. Vous n'en avez pas besoin, et vous pouvez réellement en faire plus car vous utiliserez directement la fonctionnalité de bloc de construction de niveau inférieur du langage, mais cela vous prendra beaucoup plus de temps pour faire la même chose.
Et puis-je créer mon propre framework pour y fournir les fonctionnalités que j'aime?
Oui. En fait, vous finirez probablement par le faire, même si ce n'est pas intentionnel. Par cela, je ne veux pas dire un cadre expansif de tout faire, mais plus comme une boîte à outils de fonctions de base et de scripts qui effectuent des tâches ne sont pas assez communs ou génériques pour être gérés par le cadre moyen. Le mien est essentiellement composé de divers systèmes de fichiers, de la gestion des processus et des bits tid rex-ex avec quelques utilitaires curl et stream / socket différents.