Depois de ler algumas das respostas, gostaria de dizer primeiro que muitas vezes você não tem muita opção sobre qual estrutura usar ou se usará uma ou não (como profissional). Não quero intimidá-lo, mas você precisará construir um entendimento suficiente do PHP para permitir a mudança de uma estrutura para outra, bem como usar mais de uma estrutura ao mesmo tempo.
quando eu preciso usar uma estrutura PHP como o CakePHP?
Não há uma resposta universal para isso. Como profissional, você terá a tarefa de resolver problemas específicos e esse será o fator decisivo para quando e o que é de cada projeto, especialmente se um cliente tiver uma demanda específica. Mas de um modo geral, você sempre usará alguma forma de estrutura com PHP, a menos que esteja modificando ou estendendo um aplicativo preexistente que tenha sua própria estrutura (como Wordpress ou PHPBB).
Quais são as coisas que essa e outras estruturas PHP similares oferecem para mim?
Como dito por dirk, eles oferecem abstração. O que isso significa é que eles adotam procedimentos comuns de várias etapas e tentam torná-los o mais simples e otimizados possível. Em resumo, eles tentam apresentar soluções de adição de água para tarefas comuns.
E é realmente importante usar uma estrutura para ser um profissional?
De um modo geral, não, não é importante usar uma estrutura para ser um profissional. Mas, realisticamente, você não terá muita carreira se não estiver familiarizado com pelo menos algumas estruturas comuns. PHP sem uma estrutura é como C ++ sem uma biblioteca std. Você não precisa e pode realmente fazer mais sem ele, pois estará usando diretamente a funcionalidade de bloco de builing de nível inferior da linguagem, mas levará muito mais tempo para fazer a mesma coisa.
E posso criar minha própria estrutura para fornecer os recursos que eu gosto nela?
Sim. De fato, você provavelmente acabará fazendo isso, mesmo que não intencionalmente. Por isso, não quero dizer uma estrutura abrangente de tudo, mas mais como uma bolsa de ferramentas básicas de funções e scripts que executam tarefas que não são comuns ou genéricas o suficiente para serem manipuladas pela estrutura média. O meu é basicamente composto de vários sistemas de arquivos, manipulação de processos e rex-ex tid-bits com alguns utilitários diferentes de curvatura e fluxo / soquete.