L'utilizzo di un approccio di programmazione orientato agli oggetti piuttosto che un approccio di programmazione procedurale in un programma non dipende realmente dalla lingua (che si tratti di PHP o meno), ma dal tipo di problema che si sta tentando di risolvere.
(Sto solo andando a utilizzare pseudocodice nei miei esempi come io non sono troppo familiarità con PHP.)
Ad esempio, se si dispone di un programma in cui si sta solo eseguendo una serie di funzioni in ordine, allora procedurale sta andando bene. Ad esempio, se si tratta di un semplice programma di manipolazione delle stringhe, un approccio procedurale sarebbe sufficiente:
perform_truncation(my_string, 10)
to_upper(my_string)
perform_magic(my_string, hat, rabbit)
Tuttavia, se si sta andando a che fare con molti elementi diversi (ad esempio file, o qualsiasi altra rappresentazione di, beh, oggetti) allora un approccio orientato agli oggetti sarebbe migliore.
Ad esempio, se si ha un po 'di Car
s e li voleva drive
, poi nel procedurale, si può fare qualcosa lungo la linea del:
drive_car(first_car)
drive_car(second_car)
Dove, come, in OOP, il Car
lattina guidare se stesso:
E, poiché ogni automobile è una classe diversa, il loro comportamento può essere definito in modo diverso. Inoltre, possono essere entrambe sottoclassi o Car
possono avere funzionalità comuni.
Si tratta in realtà del tipo di problema che rende l'approccio procedurale migliore rispetto all'oggetto e viceversa.
A parte il problema di procedurale o orientato agli oggetti, può essere una sorta di "odore di codice" per avere un file sorgente con molte funzioni. Questo vale anche per le classi che contengono molte funzionalità che possono essere meglio eseguite come funzioni separate in classi separate.
Il problema qui potrebbe essere l'organizzazione del codice piuttosto che decidere di scegliere la programmazione procedurale o orientata agli oggetti. Organizzare le funzioni in file sorgente separati può essere ciò che è necessario qui piuttosto che abbandonare l'approccio procedurale alla scrittura del programma.
Dopo tutto, ci sono molti programmi scritti nell'approccio procedurale di programmazione che è ben scritto e di facile manutenzione.
Ho scritto un post sul blog qualche tempo fa che potrebbe aiutarti a capire la differenza: [Procedural vs. OOP Explained] (http://www.virtuosimedia.com/tutorials/procedural-vs-oop-explained) – VirtuosiMedia