Consiglio vivamente di iniziare con un framework, una volta che hai dimestichezza con le basi. Ciò significa che probabilmente dovresti prima lavorare su alcuni esempi tratti da un libro e ottenere una buona base su pratiche orientate agli oggetti e database relazionali. Una volta che hai violato un po ', passa ai framework il prima possibile.
Tutti i framework a cui posso pensare nel mondo PHP sono strongmente orientati agli oggetti, quindi, a condizione che tu ti senta a tuo agio, dovresti essere in un buon posto per iniziare. Il vantaggio dell'utilizzo di un framework è che puoi apprendere le best practice, che sono particolarmente importanti nell'ecosistema PHP - come programmatore PHP posso dirti che ci sono un certo numero di pratiche scorrette che vengono diffuse sui blog ecc. pagherà per imparare dalle fonti corrette.
Suggerirei di apprendere da un micro framework come Silex per cominciare - questo è posto da qualche parte tra il centro del PHP diretto e framework completi come Symfony, e ti presenteremo al paradigma MVC e ad altri fantastici costrutti come l'uso di ORM e funzioni lambda.
E per rispondere alla seconda parte della tua domanda, i principali vantaggi sono:
- il codice è altamente testato,
- introduce le migliori pratiche,
- la maggior parte dei framework incoraggia lo sviluppo basato su test, che aiuta a generare codice affidabile, 4. molti framework sottolineano la separazione delle preoccupazioni, rendendo le applicazioni scalabili e più facili da eseguire il debug,
- molti framework hanno drop in plugin o librerie per fare ogni sorta di cose meravigliose, che possono davvero accelerare lo sviluppo, e
- molti framework genereranno il codice per te - darai loro una definizione del database e genereranno tutto il codice di accesso (CRUD)