Dopo aver letto alcune risposte, vorrei innanzitutto dire che non si ha spesso molta scelta su quale framework si intende usare o se si intende usarne una o meno (come professionale). Non voglio intimidirti, ma dovrai sviluppare una conoscenza di PHP sufficiente a consentire lo spostamento da un framework a un altro e utilizzare più di un framework contemporaneamente.
when do I need to use a PHP framework such as CakePHP?
Non c'è una risposta universale a questo. Come professionista, avrai il compito di risolvere problemi specifici e questo sarà il fattore decisivo per quando e cosa è di ogni progetto, soprattutto se un cliente ha una domanda specifica. Ma in generale, utilizzerai sempre qualche forma di framework con PHP, a meno che tu non stia modificando o estendendo un'applicazione preesistente che abbia il proprio framework (come Wordpress o PHPBB).
What are things that this and other similar PHP frameworks offer for me?
Come detto da dirk, offrono l'astrazione. Ciò significa che adottano procedure comuni e in più fasi e cercano di renderle il più semplici e snelle possibili. In breve, cercano di presentare soluzioni just-add-water per attività comuni.
And is it really important to use a framework to be a professional?
In generale, non è importante per utilizzare un framework per essere un professionista. Ma realisticamente, non avrai molta carriera se non hai familiarità con almeno un paio di schemi comuni. PHP senza un framework è come C ++ senza una libreria std. Non ne hai bisogno, e puoi effettivamente fare di più senza di esso poiché utilizzerai direttamente la funzionalità di blocco di livello inferiore del linguaggio, ma ci vorrà molto più tempo per fare la stessa cosa.
And can I create my own framework to provide the features I like into it?
Sì. In effetti, probabilmente finirai per farlo anche se involontariamente. Con questo non intendo un ampio quadro generale, ma più simile a una borsa degli attrezzi di funzioni e script di base che svolgono compiti non abbastanza comuni o generici da essere gestiti dalla struttura media. Il mio è fondamentalmente costituito da vari file system, gestione dei processi e rex-ex tid-bit con alcune diverse utility curl e stream / socket.