Apa itu Alur Eksekusi Joomla, setelah permintaan mencapai index.php hingga hasil akhir di browser?

8

Berdasarkan pertanyaan ini: Bagaimana Templat bekerja dan memuat file css / js? Proses pembuatan situs web dengan Purity III

Quote:
.... Saya harus mempresentasikan situs web saya besok dan saya mungkin ditanya "dari mana konten berasal?" dan saya tidak bisa menjawab karena saya tidak mendapatkannya sendiri.

Apa yang terjadi jika saya memanggil situs? Dalam file index.php adalah kode php tetapi saya tidak dapat menemukan tempat di mana sisa situs web "dipanggil" atau sesuatu ....

dan juga pada jenis pertanyaan seperti ini: Where Joomla Files Located

Saya memutuskan untuk membuat Tanya Jawab ini berfungsi sebagai referensi untuk semua pertanyaan serupa. Siapa pun yang ingin berkontribusi untuk menjadikan ini posting wiki komunitas yang solid dipersilakan.

FFrewin
sumber

Jawaban:

13

ToC Answerer
1. Intro untuk pemula + tautan sumber daya pemula
2. Tentang Arsitektur
Joomla 3. Alur Eksekusi Joomla - Bagaimana Joomla Bekerja
4. Sumber Daya Tambahan

1. Pengantar untuk Pemula

Menggunakan Joomla untuk membangun situs agak sederhana, karena menyediakan area administrasi yang ramah. Dalam sebagian besar kasus, ini semua yang perlu diketahui oleh pengguna akhir dan perancang.

Banyak pemula dengan pengetahuan tentang html dan css statis klasik, memiliki pertanyaan / harapan yang sama: Cara mengedit file / konten mereka, karena mereka melihatnya di-render di browser mereka.

Namun cara Joomla bekerja di balik layar, jauh lebih rumit daripada mengedit file html dan membutuhkan pengetahuan dan pengalaman pemrograman tingkat lanjut untuk sepenuhnya memahaminya.

Jadi sebagai jawaban singkat: jangan berharap untuk membuka aplikasi FTP / File manager dan menemukan file bernama:, myArticle.htmlatau index.htmlyang akan memungkinkan Anda mengeditnya secara langsung atau mengubah tampilan elemen html halaman Anda.

Untuk memulai, saya akan menyarankan untuk mempelajari terlebih dahulu dasar - dasar Joomla dan bagaimana cara mengelolanya dari backend. Perlahan, perlahan-lahan lebih banyak pengetahuan dan pengalaman akan diperoleh.

Sumber daya pemula

Topik dengan sumber daya bermanfaat dan tutorial dapat ditemukan di sini:
Tutorial Pemula Joomla - Bagaimana cara memulai dengan Joomla?


2. Tentang Arsitektur Joomla

Joomla lebih dari sekadar CMS modern yang dibangun di atas PHP. Ini adalah proyek web lanjutan yang menggabungkan arsitektur multi-layer, yang meliputi:

  • The framework Joomla -termasuk perpustakaan pihak ke-3 bahwa kerangka mengandalkan, dan plugin yang memperpanjang kerangka.
  • Aplikasi Web yang terpisah seperti situs administrator, situs front-end, instalasi.
  • Lapisan ekstensi (modul, komponen, templat) yang memperluas kerangka kerja Joomla dan aplikasi.

Joomla mengimplementasikan berbagai konsep pemrograman tingkat lanjut, Pemrograman Berorientasi Objek , pola desain MVC dan pola desain umum lainnya, sistem template, dll. Juga jangan lupa untuk menyebutkan bahwa Joomla menggunakan database di mana data disimpan dan diambil ketika diminta untuk ditampilkan pada layar.


3. Deskripsi Sederhana dan Singkat tentang Siklus Eksekusi Joomla - Cara Kerja Joomla

Saat Anda mencapai di index.phpsitus Joomla (aplikasi JSite front-end), siklus eksekusi baru dimulai, yang meliputi:

  • Penting termasuk file yang menentukan KONSTAN aplikasi yang digunakan secara luas di seluruh aplikasi dan ekstensi.
  • Memuat kerangka kerja Joomla dan semua Kelas penting yang diperlukan agar aplikasi dapat berjalan, -kerangka tersebut juga memeriksa apakah ada file konfigurasi yang ada, atau harus membawa kita ke folder instalasi untuk membuat instalasi Joomla baru .
  • The Aplikasi objek dibuat dan dijalankan dan negara sesi ditangani (baru atau sesi yang ada).
  • File konfigurasi dimuat - yang juga memberikan akses ke database.
  • The router disebut. Router bertanggung jawab untuk menerjemahkan URL ke array asosiatif perintah dan sebaliknya. Perintah-perintah ini akan digunakan sebagai parameter url dan dikirim ke SuperGlobal PHP$_GET untuk membuat url lengkap. The optionelemen dari array ini adalah salah satu yang mendefinisikan komponen yang harus dieksekusi.
  • Dengan eksekusi komponen, Objek Dokumen dibuat. Dokumen disimpan dalam memori dan menyimpan data yang akan dikembalikan nanti di browser. Fakta yang disimpan sebagai buffer dalam memori memungkinkan untuk menempatkan dan memanipulasi konten di dalamnya tanpa urutan dan dari lokasi mana pun. Template yang dipilih telah disimpan dalam konfigurasi. Juga, perlu dicatat bahwa satu-satunya hal yang dilakukan Joomla adalah menjalankan komponen. Apa lagi yang harus terjadi selama langkah ini adalah pekerjaan komponen.
  • Berikutnya adalah Rendering Halaman , di mana bersama data komponen dari langkah sebelumnya, modul dan pesan notifikasi juga diberikan dan ditempatkan di posisi templat mereka.
  • Langkah terakhir adalah menampilkan halaman ke browser .
  • Penting untuk dicatat bahwa selama berbagai tahap siklus eksekusi di atas, ada poin Acara Plugin yang dipanggil, yang memungkinkan berbagai acara untuk mengganggu dan memperluas fungsionalitas Joomla.

Daftar alur eksekusi yang lebih terperinci, dengan peristiwa plugin didokumentasikan di sini: Alur Eksekusi Aplikasi Joomla


4. Sumber Daya Tambahan:

FFrewin
sumber
1

Kontribusi kecil, daftar lengkap Joomla! Acara Plugin .

Gruber
sumber
kecil tapi bermanfaat
FFrewin
mungkin Anda bisa menulis bagian terpenting dari halaman itu di sini
FFrewin
@ Francin Saya akan tetapi pada dasarnya itu adalah daftar panjang tautan dari setiap acara Plugin! Saya mencoba untuk menemukan semacam "timeline" dari semua peristiwa dalam daftar ini, tetapi saya tidak dapat menemukan banyak tentang hal itu, saya telah menemukan jawaban Anda di sini setelah banyak googling dan Alur Eksekusi Aplikasi Joomla menyebutkan beberapa Acara Grup sistem tetapi tidak banyak tentang yang lain.
Gruber
@Frewin juga akan berguna semacam gambaran ikhtisar dari semua grup acara plugin yang berbeda, tapi saya tidak menemukan banyak di dokumen Joomla (saya akui GoogleFu saya sedikit kurang hari ini entah kenapa, mungkin panas: P)
Gruber