Rumah  >  Artikel  >  Tutorial CMS  >  Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web

Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web

王林
王林asal
2023-09-01 20:25:10550semak imbas

Dalam siri ini, kita akan membincangkan cara membina aplikasi web menggunakan WordPress. Walaupun ini bukan siri teknikal di mana kami akan melihat kod, kami merangkumi topik seperti rangka kerja, asas, corak reka bentuk, seni bina dan banyak lagi.

Jika anda belum membaca artikel pertama dalam siri ini, saya mengesyorkannya; walau bagaimanapun, untuk tujuan artikel ini, kami boleh meringkaskan artikel sebelumnya seperti berikut:

Ringkasnya, perisian boleh dibina di atas rangka kerja, dan perisian boleh memanjangkan asas.

Ringkasnya, kami membezakan antara rangka kerja dan asas - kedua-dua istilah ini sering digunakan secara bergantian dalam perisian, walaupun ia bukan perkara yang sama. WordPress adalah asas kerana ia adalah aplikasi itu sendiri. Ia bukan rangka kerja.

Untuk melakukan ini, apabila membina aplikasi web di WordPress, kita perlu memikirkan semula seni bina atau memikirkan semula model konsep tentang cara membina aplikasi.


Struktur Aplikasi Web

Pada tahap yang paling tinggi, aplikasi web biasanya terdiri daripada tiga komponen berikut:

  1. Lapisan pangkalan data
  2. Lapisan aplikasi
  3. Lapisan persembahan

Secara umumnya, lapisan pembentangan ialah apa yang pengguna lihat dan berinteraksi. Ia termasuk semua gaya, kod sisi pelanggan dan penanda yang diperlukan untuk mendapatkan sesuatu di hadapan pengguna.

Apabila pengguna mengklik pada sesuatu atau halaman memaparkan maklumat yang diambil daripada pangkalan data, ia berinteraksi dengan lapisan aplikasi.

Lapisan aplikasi bertanggungjawab untuk menyelaraskan maklumat daripada penyemak imbas dan/atau daripada tindakan pengguna ke pangkalan data. Kadangkala ini termasuk menulis maklumat ke pangkalan data (seperti maklumat daripada medan borang) dan membaca maklumat daripada pangkalan data (seperti mendapatkan semula maklumat akaun pengguna).

Sama seperti lapisan pembentangan terdiri daripada komponen yang berbeza (seperti gaya, JavaScript, markup, dll.), lapisan aplikasi juga boleh terdiri daripada pelbagai komponen berbeza, seperti sistem yang diperlukan untuk membaca data daripada dan menulis data ke pangkalan data, bersihkan maklumat, sahkan maklumat dan kuatkuasakan peraturan tertentu khusus untuk isu semasa.

Akhir sekali, lapisan pangkalan data adalah tempat data disimpan. Ia mungkin terdiri daripada sistem fail, ia mungkin terdiri daripada pangkalan data MySQL, ia mungkin terdiri daripada penyelesaian pihak ketiga seperti stor data "dalam awan" (seperti Amazon S3 atau sesuatu yang serupa).

Semuanya abstrak

Perkara utama yang perlu difahami ialah dalam perisian kita sentiasa berurusan dengan beberapa tahap abstraksi. Sebagai contoh, kita bercakap tentang storan data atau lapisan pangkalan data, tetapi kita tidak benar-benar memahami perkara itu. Begitu juga dengan lapisan aplikasi dan pembentangan.

  • Adakah kita bercakap tentang pangkalan data hubungan dengan berbilang jadual, atau adakah kita bercakap tentang storan awan?
  • Lapisan capaian data manakah yang akan kami gunakan untuk menyambung ke lapisan aplikasi untuk berkomunikasi dengan pangkalan data?
  • Apakah rangka kerja dan bahasa yang kami gunakan pada bahagian hadapan? JavaScript biasa, jQuery, Knockout.js? Prapemproses CSS - Bagaimana pula dengan KURANG atau Sass?

Jelas sekali, kami tidak akan memberikan jawapan kepada soalan ini sekarang, tetapi maksudnya ialah semua aplikasi web mengandungi komponen yang serupa, tetapi butiran setiap komponen berbeza dari satu projek ke projek.


Komponen WordPress

Sebagai aplikasi web yang tersendiri, WordPress ialah contoh sempurna bagaimana pelbagai teknologi disatukan untuk membentuk aplikasi web:

  1. Lapisan pangkalan data ialah pangkalan data MySQL.
  2. Lapisan Aplikasi (sesetengah akan menganggap WordPress itu sendiri) ditulis dalam PHP dan mengendalikan banyak operasi teras membaca dan menulis storan data, sambil menyediakan API untuk pembangun untuk memanfaatkannya lagi.
  3. Lapisan persembahanmenggunakan CSS asas (sekurang-kurangnya buat masa ini), HTML (sesetengah tema kini menggunakan HTML5), jQuery dan beberapa papan pemuka menggunakan Backbone.js.

Itulah seni bina WordPress, tetapi bagaimana pula dengan projek yang ingin kami bina di atas aplikasi? Bagaimanakah mereka mengikuti seni bina yang sama?

Baiklah, ingat WordPress ialah asas - bukan rangka kerja - jadi kami dipengaruhi oleh seni bina WordPress secara lalai. Ini tidak bermakna kita tidak boleh membawa masuk perpustakaan kita sendiri dalam beberapa kes, tetapi ia memberi kesan kepada cara aplikasi dan projek kita dibina.

Kita akan bercakap lebih lanjut mengenai perpustakaan, kebolehperluasan, dsb. kemudian, tetapi pertama sekali, adalah penting untuk ambil perhatian bahawa pada zaman ini, paradigma Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web (dan variasi lain MVVM serta model, pandangan, dsb.) sangat popular. , tetapi bukan WordPress Jangan ikut konvensyen ini.

Terdapat hujah menyokong dan menentang mengapa ini mungkin perkara yang baik atau buruk, tetapi itu bukan tujuan artikel ini. Sebaliknya, perlu diingat bahawa WordPress menggunakan model dipacu peristiwa dan bukannya panel kawalan paparan model.

Atas sebab ini, adalah wajar memahami cara model dipacu acara berfungsi supaya anda mempunyai pemahaman yang jelas tentang cara cangkuk WordPress berfungsi dan cara mengalihkan pemikiran anda daripada Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web atau mana-mana paradigma lain yang anda gunakan kepada cara WordPress mengurus maklumatnya.


Apakah maksud dipacu peristiwa?

Sebelum melihat contoh aplikasi dipacu peristiwa, mari semak semula maksud mengikuti paradigma Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web.

  • Pertama, pandangan berfungsi sebagai demonstrasi. Pengguna melihat maklumat dan berinteraksi dengan antara muka pengguna.
  • Seterusnya, pengawal menyelaraskan maklumat antara model dan pandangan. Mereka bertindak balas kepada tindakan pengguna dan mendapatkan maklumat daripada model untuk dipindahkan ke paparan.
  • Selepas itu, model mewakili data dalam pangkalan data. Ini boleh dilakukan dalam pelbagai cara, tetapi salah satu kaedah yang paling popular ialah memetakan data dalam pangkalan data kepada model hubungan objek supaya data diwakili dalam format objek.

Keseluruhan model Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web kelihatan seperti ini:

Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi WebMembayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi WebMembayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web

Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web图标题>

Kini, aplikasi dipacu peristiwa boleh mempunyai beberapa komponen yang sama - iaitu, ia boleh mempunyai paparan dan model atau pandangan dan objek data - tetapi ia tidak semestinya mempunyai bahagian belakang pengawal yang menyelaraskan maklumat dari hujung hadapan ke belakang tamat.

Sebaliknya, pengaturcaraan dipacu peristiwa berfungsi pada premis bahawa "sesuatu berlaku." Jadi, dalam bahasa WordPress, Action dinamakan "Tindakan" (sudah tentu, kami juga mempunyai penapis, tetapi saya akan melihatnya sebentar lagi).

WordPress menyediakan cangkuk, yang sebenarnya merupakan titik dalam pelaksanaan di mana kita boleh memperkenalkan fungsi kita sendiri supaya WordPress mengenali "Apabila peristiwa ini berlaku, saya perlu mencetuskan fungsi ini" di mana fungsi ini ditakrifkan sebagai apa sahaja yang kami sediakan .

Sebenarnya, penapis berfungsi dengan cara yang sama tetapi mempunyai tujuan yang berbeza. Ringkasnya, penapis ialah operasi yang memanipulasi data dalam beberapa cara (seperti menambah, menambah, mengalih keluar atau mengemas kini kandungan) sebelum kembali ke aplikasi untuk pelaksanaan.

Jadi bagaimana rupanya?

Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi WebMembayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi WebMembayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web

Aktiviti

Tiada apa-apa yang rumit, bukan?


Jadi apakah seni bina baharu kami?

Maksud artikel ini pada asasnya adalah untuk membuat kita berfikir tentang pengaturcaraan dipacu acara dan cara menyelaraskan usaha kita untuk membina aplikasi web secara khusus di WordPress.

Iaitu, kita mesti berfikir dari segi peristiwa atau fakta bahawa "sesuatu telah berlaku" supaya kita tahu bila patut mencelah tindakan kita sendiri. Kami akan membincangkan perkara ini dengan lebih terperinci dalam siaran kami yang seterusnya, tetapi saya harap anda semua ambil perhatian daripada siaran khusus ini ialah hanya kerana sesuatu bukan Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web (atau apa sahaja paradigma popular seterusnya) tidak bermakna Ia adalah tidak sesuai untuk pembangunan aplikasi.

Setiap corak dan seni bina memberikan kita kelebihan dan kekurangan, semuanya menyumbang kepada membina aplikasi web yang berjaya.


Seterusnya...

Dalam siaran seterusnya dalam siri ini, kami akan melihat dengan lebih terperinci tentang cara cangkuk memainkan peranan penting dalam membina aplikasi web di WordPress, dan kemudian kami akan mula melihat beberapa ciri yang ditawarkan WordPress - menjadikannya daripada jenis tertentu (bukan semua jenis) aplikasi web.

Atas ialah kandungan terperinci Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn