Domanda

Vorrei imparare PHP e vogliono farsi un'idea su OOP e procedurale. Ho letto alcuni altri blog e tutorial su OOP vs procedurale, ma non riesco ancora a comprendere l'approccio.

OOP vs procedurale

  1. Quale dovrei imparare?
  2. Che cosa è la differenza nel codice? Quali sono gli effetti?
  3. Come può un aiuto framework PHP in OOP aproach? (Vorrei imparare CodeIgniter)
  4. ha bisogno di un quadro procedurale?

Ho molta voglia di conoscere la differenza codice della entrambi, la mia comprensione della programmazione orientata agli oggetti è la creazione di una classe come e può essere l'accesso. (Non so se questo è corretto).

Grazie!

È stato utile?

Soluzione

Sfondo: Hai chiesto per un "semplice spiegazione" che suggerisce:

  1. Si desidera una panoramica no-nonsense senza gergo
  2. Volete qualcosa che vi aiuterà a imparare fin dall'inizio
  3. hanno scoperto che non ci sono due persone mai rispondere alla domanda allo stesso modo , ed è fonte di confusione. Questa è la ragione che si sta qui chiedendo una semplice spiegazione. Sì?

Breve No-Jargon risposta:

  1. Molte spiegazioni introduttive saltare rapidamente in esempi "OOP mondo reale". Quelli possono tendono a confondere più di aiuto, quindi sentitevi liberi di ignorare che per ora.
  2. Si può pensare di codice sorgente semplicemente come "pezzi" di funzionalità, che appena capita di essere salvati per i singoli file.
  3. Ci sono diversi modi di organizzare quei "pezzi"; a seconda le cose come le convenzioni del linguaggio di programmazione, lo sfondo e la formazione dello sviluppatore (s), o semplicemente un vecchio preferenze personali.
  4. OOP e programmazione procedurale sono semplicemente due principali, metodologie generalmente riconosciute, per il modo di organizzare e organizzare quei "pezzi" di codice.

Long No-Jargon risposta:

procedurale vs OOP è solo un aspetto di un problema fondamentale della programmazione di computer: come rendere il codice facile da comprendere e un pezzo di torta al professionalmente mantenere . Si può effettivamente scrivere codice "procedurale" che segue alcuni dei principi della programmazione orientata agli oggetti, quindi i due non sono necessariamente opposti.

La vostra comprensione sarà davvero crescere una volta che si impara altri linguaggi di programmazione orientati agli oggetti , tra che, PHP è un "nuovo capretto sul blocco".

Ecco una rapida panoramica di ciò che si impara come si costruisce l'esperienza:

  • È possibile scrivere il codice sorgente PHP che fa attività utili
  • È possibile organizzare le attività utili in "blocchi" del codice
  • Si può pensare di "pezzi" di codice in modo indipendente dei singoli file in cui sono salvati
  • A volte quei "pezzi" di codice sarà si comportano in modo diverso in base a parametri si passa
  • pezzi di codice che accetta i parametri sono chiamati "Funzioni"
  • Le funzioni possono essere "Chunked" insieme, e ci sono diversi modi di fare questo:
    • Ad esempio: si potrebbe avere solo un grande file PHP con tutte le funzioni che abbia mai scritto in tutta la tua vita, elencati in ordine alfabetico per nome della funzione
    • Ad esempio: si potrebbe avere più file PHP con funzioni che vengono divisi in blocchi insieme per argomento [ad esempio, le funzioni per fare la manipolazione di stringhe di base, le funzioni per gli array di elaborazione, le funzioni per l'input / output dei file, etc]
  • OOP è un modo speciale di "chunking" Funzioni insieme in una "classe"
  • Una classe è solo un altro livello di "chunking" il codice insieme in modo che si può trattare come un tutto unificato
  • Una classe può essere pensato come un "chunking" di Metodi e Proprietà

    • metodi sono semplicemente funzioni che sono logicamente correlate gli uni agli altri in qualche modo significativo. Le parole "metodo" e "funzione" sono fondamentalmente due termini diversi per la stessa cosa.
    • Proprietà sono semplicemente valori dei dati che sono legati alla classe. Questi sono i valori che sono volutamente non isolato a qualsiasi funzione individuale, perché più delle funzioni nella classe dovrebbe avere accesso ad essi.
      • Ad esempio : sela classe ha un sacco di metodi per fare l'astronomia, le proprietà della classe potrebbero essere i valori per determinati numeri famosi che tutti i metodi di astronomia bisogno di conoscere (come Pi, la velocità della luce, la distanza tra i pianeti specifici, ecc).
    • Questo è dove la maggior parte le spiegazioni OOP diventare confuso perché si diramano in " esempi reali ", che può ottenere rapidamente fuori tema . Spesso, "mondo reale" è un eufemismo per le prospettive ontologiche di un particolare individuo. Che tende ad essere utile solo una volta che si è già capito il concetto abbastanza bene per insegnare a qualcun altro.
    • Per capire OOP senza confusione, è possibile saltare gli esempi "mondo reale", per ora, e concentrarsi solo sul codice. Una classe è semplicemente un modo per memorizzare funzioni (aka metodi) e le proprietà (aka dati) come PHP codice in una o più correlati "blocchi" in cui ogni individuo offerte "chunk" con un argomento o un pezzo di funzionalità specifiche. Questo è tutto quello che dovete sapere per iniziare.
  • Una classe è utile perché consente di organizzare il codice in un livello molto alto in un modo che rende facile per voi capire, utilizzare e mantenere.

  • Quando qualcuno ha scritto un sacco di funzioni, e organizzati in un sacco di classi, e ottenuto quelle di lavorare insieme in qualche modo fresco, hanno confezionare il tutto insieme e chiamano un "quadro" .
  • Un quadro è solo il livello successivo più alto di "chunking" (tra cui la codifica stile e convenzioni), che una o più persone d'accordo su perché a loro piace il modo in cui è organizzato il codice e si adatta alle loro lavoro di stile, le preferenze, i valori, i piani per la dominazione del mondo, ecc.

Vedere anche

Altri suggerimenti

OOP non è altro che un modello di progettazione. Se si sta appena iniziando quindi imparare le nozioni di base, concentrandosi su un approccio procedurale. Ancora più importante, acquisire familiarità con i principi di base come i cicli, condizioni e chiamando altre procedure.

Mentre si sta creando il codice procedurale, prendere l'abitudine con l'aggiunta di metodi correlati all'interno di un singolo file sorgente. Impara a dividere le vostre procedure in unità logiche e quindi si sta già cominciando a diventare orientata agli oggetti. Fondamentalmente, un oggetto non è altro che un insieme di metodi che sono collegati l'uno all'altro semplicemente perché operano sullo stesso insieme di dati. (Non si parla di banche dati qui, ma i dati delle applicazioni!)

OO viene utilizzato principalmente per rendere il codice più logica dividendo tutto in blocchi semplici. Combinando i blocchi di destra, si ottiene una completa applicazione. OO non è un proiettile d'argento o un martello d'oro che risolverà tutti i vostri problemi. Ma quello che fa fare, è rendere il vostro codice più facile da capire.

Poi di nuovo, alcune persone riescono ancora a fare un pasticcio completo di oggetti, semplicemente trasformandoli in enormi super-oggetti con centinaia di metodi. Tali oggetti non differiscono molto da un approccio procedurale regolare, semplicemente a causa della enorme quantità di metodi essere combinati insieme senza alcuna logica vera. E 'un errore che è facile da fare quando la gente inizia a fare OOP troppo veloce.

Si dovrebbe imparare entrambi. Gli oggetti sono solo uno dei tanti possibili astrazioni esistenti, e l'astrazione è ciò che in ultima analisi, la programmazione è tutto. Detto questo, iniziare con roba procedurale, e quindi aggiungere gli oggetti più tardi, perché internals oggetti PHP sono procedurali in ogni caso.

Per quanto riguarda i quadri; prima imparare i fondamenti del linguaggio, scrivere programmi usa e getta sperimentali e così via. Successivamente è possibile familiarizzare con quadri e prendere in considerazione voi se si trovare alcuni di loro utile in qualche contesto. Hanno sicuramente non sono obbligatori.

php procedurale e oop utilizza lo stesso codice php. Allora unica differenza è che con procedurale, ci si concentra su un solo compito e questo è tutto. In OOP, a organizzare il vostro codice usando modelli o pezzi che possono essere riutilizzati in molte aree diverse del codice.

semplice risposta è che, è necessario conoscere e capire php. Si può imparare a php.net. Una volta capito che, allora si può iniziare ad organizzare il codice in in mandrini.

Codice di procedura utilizza le funzioni, le variabili.

Una volta che si ottiene un blocco delle cose, è possibile iniziare ad organizzare le funzioni e le variabili in classi. Si comincia chiamando le funzioni come metodi e le variabili come proprietà.

In bocca al lupo.

Per aggiungere sulle grandi risposte di cui sopra. Si dovrebbe vedere OOP come una progressione naturale del vostro stile di codifica -Quando di iniziare a scrivere piccolo programma si potrebbe solo bisogno di mettere insieme un paio di righe di codice php, poi raggrupparli in funzioni e le funzioni più si scrive si può sentire il bisogno per organizzarli meglio in classi. OOP lascia che il tuo struttura i codici di meglio -permette una migliore manutenzione del codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top