Negli ultimi mesi, abbiamo esaminato tutte le funzionalità e gli aspetti che rendono WordPress una potenziale base per lo sviluppo di applicazioni.
In effetti, abbiamo trascorso circa 15 articoli parlando di tutto ciò che offre WordPress.
E anche se esamineremo ognuno dei punti di questa email, forse la cosa più importante da togliere che la creazione di applicazioni web usando WordPress è diverso dall'usare molti dei framework popolari attualmente disponibili, in particolare perché WordPress non è un struttura.
È una base su cui possiamo costruire; non un framework con cui costruiamo.
Ciò significa che dobbiamo spostare il nostro modello di pensiero su come vengono costruiti i vari componenti della nostra applicazione in modo che si comportino in modo ottimale nel contesto e nell'ambiente in cui sono in esecuzione.
Nel primo post della serie, esaminiamo brevemente cosa significa essere un framework:
Nella programmazione per computer, una struttura software è un'astrazione in cui il software che fornisce funzionalità generiche può essere modificato selettivamente da un codice aggiuntivo scritto dall'utente, fornendo in tal modo un software specifico per l'applicazione. Una struttura software è una piattaforma software universale riutilizzabile per lo sviluppo di applicazioni, prodotti e soluzioni. I framework software includono programmi di supporto, compilatori, librerie di codici, set di strumenti e interfacce di programmazione delle applicazioni (API) che riuniscono tutti i diversi componenti per consentire lo sviluppo di un progetto o una soluzione.
E cosa significa essere una fondazione:
In breve, il software può essere costruito su framework, il software può estendere le basi.
Queste due definizioni preparano il terreno per iniziare a guardare a WordPress, a come è costruito, ai modelli di progettazione implementati e a come dobbiamo adattare il nostro modello concettuale in modo tale da riflettere correttamente sulla base di codice sottostante in modo che stiamo sfruttando il meglio che possiamo per il lavoro che dobbiamo fare.
Come con la maggior parte delle applicazioni Web, WordPress è strutturato in modo simile:
Ma quando si tratta di creare applicazioni su WordPress, stiamo cambiando un po 'le cose. Vale a dire che, sebbene WordPress mantenga la stessa struttura, e possiamo costruire le nostre soluzioni utilizzando le nostre strategie, i nostri modelli di progettazione e cosa no, ci agganceremo un po 'all'applicazione WordPress per far scoppiare la nostra logica aziendale e per mostrare le cose nel nostro proprio livello di presentazione.
Per fare ciò, è importante capire il modello di progettazione che guida WordPress. E anche se MVC e le sue varianti sono di gran moda in questi giorni, WordPress segue una convenzione diversa.
In un articolo di follow-up sull'architettura di WordPress, abbiamo discusso di come WordPress utilizza la programmazione basata sugli eventi.
Invece, la programmazione basata sugli eventi funziona partendo dal presupposto che "qualcosa come è successo". Da qui il nome per Azioni nel gergo WordPress (ovviamente, abbiamo anche dei filtri, ma li coprirò per un momento).
Nello specifico, abbiamo parlato di come questo ci porta all'idea di come, nella programmazione, qualcosa accade e quindi siamo in grado di approfittare di quei punti chiave.
In WordPress, queste caratteristiche particolari sono chiamate hook e possono essere definite in due modi particolari:
Poi, quando siamo in procinto di discutere ciascuno di questi in modo più dettagliato. Attraverso l'uso di definizioni più lunghe, esempi di codice e alcuni dei ganci più comuni disponibili, abbiamo esaminato come utilizzarli al meglio e come possono avvantaggiarci quando lavoriamo con le nostre applicazioni Web.
Quindi abbiamo iniziato a parlare di diverse funzionalità che sono al centro dello sviluppo di applicazioni web:
Abbiamo coperto questi elementi in sequenza non solo perché sono fondamentali per molte moderne applicazioni Web, ma perché sono utilizzati molte volte in combinazione tra loro.
Ad esempio, quando un nuovo utente registra un account, riceverà una email su come attivarlo o su come effettuare il login, quindi una volta che l'utente si collega al sistema, è probabile che stabilisca una sessione in modo tale che i dati vengano trasferiti con loro attorno al sito fino alla loro fine della sessione.
Il motivo per cui questo tende ad essere un po 'un problema per la creazione di applicazioni in WordPress, è perché non c'è realmente un'API di sessione. Invece, dobbiamo ricorrere alle strutture offerte da PHP. Questo non è difficile, ma se non hai mai avuto il tempo di introdurre correttamente una caratteristica nativa di PHP in un'applicazione esistente che non la incorpora già in qualche modo, ci sono diversi punti che dovrebbero essere compresi.
E infine, l'email è ovviamente la chiave per comunicare con gli utenti; tuttavia, molti sviluppatori che lavorano con WordPress (indipendentemente dal loro livello di esperienza) non sono sempre consapevoli della possibilità di personalizzare completamente le e-mail che vengono inviate non solo durante il normale corso degli eventi, ma anche quando si verificano determinati eventi che potrebbero giustificare un email nel contesto della tua applicazione che non è standard di WordPress.
Una volta che l'utente ha effettuato l'accesso all'applicazione, probabilmente effettueranno il salvataggio e il recupero dei dati, ma se non lo sono, c'è ancora la possibilità che potremmo registrare alcune delle loro informazioni di nient'altro che sapere come sono " re utilizzando il sito, o per restituire informazioni a loro.
Fortunatamente WordPress ha un'API che lo rende molto semplice, ma ha anche il costo di dover convalidare e disinfettare i dati sia quando si salvano e si recuperano le informazioni.
Questo è fondamentale perché vogliamo essere sicuri che le informazioni dannose non vengano inserite nel database, e per assicurarci che stiamo recuperando le informazioni in modo sicuro in modo che sia leggibile e di facile utilizzo per gli utenti.
Quando abbiamo iniziato a concludere la serie, abbiamo parlato un po 'dei moderni schemi di riscrittura degli URL e di come WordPress offre una varietà di modi per farlo fuori dalla scatola.
Ma abbiamo analizzato più a fondo e confrontato ciò che molti framework moderni offrono nel modo di personalizzare i percorsi. Nello specifico, abbiamo esaminato come le rotte RESTful possono essere implementate in WordPress usando l'API Rewrite per fornire uno schema URL più pulito, perché questo è vantaggioso per gli utenti e come gestirlo in WordPress.
Inoltre, abbiamo parlato di alcune delle insidie nel fare questo e come evitarli quando si incorporano regole personalizzate nella nostra applicazione.
Poiché la velocità è una caratteristica, passiamo poi a parlare un po 'dell'API Transient di WordPress per imparare come memorizzare le informazioni nella nostra applicazione.
Sebbene ci siano molti plug-in e altri pacchetti software che possono introdurre il caching nei nostri siti Web e applicazioni, ci sono altre cose che possiamo fare come programmatori per sfruttare le funzionalità native di WordPress e il suo database sottostante che giocheranno bene con detto applicazioni di caching.
Il fatto è che, anche se non hai intenzione di affidarti a applicazioni di terze parti per la memorizzazione nella cache, puoi comunque approfittare di come WordPress organizza le informazioni nel suo database in modo tale da poter comunque migliorare le prestazioni del tuo lavoro sfruttando questa API.
Infine, abbiamo terminato la nostra esplorazione e discussione delle funzionalità di utilizzo di WordPress come base per lo sviluppo di applicazioni parlando dei migliori modi di interrogare i dati.
Nello specifico, abbiamo discusso:
WP_Query
che viene utilizzato per eseguire query più avanzate su tipi di post, tassonomie, metadati e altro.WP_User_Query
che viene utilizzato per scrivere query avanzate sulla tabella dell'utente.$ wpdb
per scrivere query di database personalizzate.Abbiamo quindi esaminato i casi d'uso per ciascuna delle API disponibili, come sfruttarli nel nostro progetto e in quali condizioni utilizzare.
Perché WordPress è una applicazione basata su database, quindi saranno anche le applicazioni che creeremo in cima ad essa, quindi è importante sapere esattamente come interagire con le API disponibili in modo che non stiamo solo recuperando informazioni corrette, ma facendo ciò in un performante , facile da leggere, manutenibile e scalabile.
L'obiettivo finale di questa serie di articoli era quello di fornire uno sguardo completo su ciò che offre WordPress nello sviluppo di applicazioni web.
Ovviamente, in qualità di sviluppatori, dobbiamo ricordare che non esiste un punto d'argento per quanto riguarda la fornitura di soluzioni per noi stessi, i nostri clienti e i nostri clienti - si tratta di trovare lo strumento giusto per il lavoro. In alcuni casi, questo sarà WordPress, in altri casi non lo farà. Tutto ciò per dire, solo perché WordPress può essere usato non significa che dovrebbe essere usato, e non dovremmo lavorare per forzare il nostro problema impostato in WordPress quando non è il giusto.
Detto questo, quando WordPress fa offrire le giuste funzionalità, API e struttura per risolvere il problema dato, quindi mantenere questa serie di articoli prontamente disponibili per riferimento in quanto ha lo scopo di fornire esattamente ciò che è necessario per creare solide applicazioni Web sulla base delle esistenti basi di WordPress.