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.
Pada tahap yang paling tinggi, aplikasi web biasanya terdiri daripada tiga komponen berikut:
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).
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.
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.
Sebagai aplikasi web yang tersendiri, WordPress ialah contoh sempurna bagaimana pelbagai teknologi disatukan untuk membentuk aplikasi web:
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.
Sebelum melihat contoh aplikasi dipacu peristiwa, mari semak semula maksud mengikuti paradigma Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web.
Keseluruhan model Membayangkan Semula Seni Bina: Menggunakan WordPress untuk Pembangunan Aplikasi Web kelihatan seperti ini:
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?
Tiada apa-apa yang rumit, bukan?
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.
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!