Yii2 framework backup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
5.8 KiB

Menjalankan Aplikasi
====================
Setelah menginstal Yii, Anda memiliki aplikasi Yii yang dapat diakses melalui
URL `http://hostname/basic/web/index.php` atau `http://hostname/index.php`, tergantung
pada konfigurasi Anda. Bagian ini akan memperkenalkan fungsi built-in aplikasi,
bagaimana kode ini disusun, dan bagaimana aplikasi menangani permintaan secara umum.
> Info: Untuk mempermudah, selama tutorial "Mulai", itu diasumsikan bahwa Anda telah menetapkan `basic/web`
  sebagai root dokumen server Web Anda, dan URL dikonfigurasi untuk mengakses
  aplikasi Anda untuk menjadi `http://hostname/index.php` atau sesuatu yang serupa.
  Untuk kebutuhan Anda, silakan menyesuaikan URL sesuai deskripsi kami.
  
Perhatikan bahwa tidak seperti framework itu sendiri, setelah template proyek diinstal, itu semua milikmu. Anda bebas untuk menambah atau menghapus
kode dan memodifikasi keseluruhannya sesuai yang Anda butuhkan.
Fungsi <span id="functionality"></span>
-------------
Aplikasi dasar diinstal berisi empat halaman:
* Homepage, ditampilkan saat Anda mengakses URL `http://hostname/index.php`,
* Halaman "About",
* Halaman "Contact", yang menampilkan formulir kontak yang memungkinkan pengguna akhir untuk menghubungi Anda melalui email,
* Dan halaman "Login", yang menampilkan form login yang dapat digunakan untuk otentikasi pengguna akhir. Cobalah masuk
  dengan "admin/admin", dan Anda akan menemukan item "Login" di menu utama akan berubah menjadi "Logout".
Halaman ini berbagi header umum dan footer. header berisi menu bar utama untuk memungkinkan navigasi
antara halaman yang berbeda.
Anda juga harus melihat toolbar di bagian bawah jendela browser.
Ini adalah [debugger tool](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide/README.md) yang disediakan oleh Yii
untuk merekam dan menampilkan banyak informasi debug, seperti log pesan, status respon, query database berjalan, dan sebagainya.
Selain itu untuk aplikasi web, ada script konsol yang disebut `yii`, yang terletak di direktori aplikasi dasar.
Script ini dapat digunakan untuk menjalankan aplikasi background dan tugas pemeliharaan untuk aplikasi, yang diuraikan
di bagian [Console Application](tutorial-console.md).
Struktur aplikasi <span id="application-structure"></span>
---------------------
Direktori yang paling penting dan file dalam aplikasi Anda (dengan asumsi direktori root aplikasi adalah `basic`):
```js
basic/ path aplikasi dasar
composer.json digunakan oleh Composer, package information
config/ berisi konfigurasi aplikasi dan yang lain
console.php konfigurasi aplikasi konsole
web.php konfigurasi aplikasi web
commands/ contains console command classes
controllers/ contains controller classes
models/ contains model classes
runtime/ contains files generated by Yii during runtime, such as logs and cache files
vendor/ contains the installed Composer packages, including the Yii framework itself
views/ contains view files
web/ application Web root, contains Web accessible files
assets/ contains published asset files (javascript and css) by Yii
index.php the entry (or bootstrap) script for the application
yii the Yii console command execution script
```
Secara umum, file dalam aplikasi dapat dibagi menjadi dua jenis: mereka yang di bawah `basic/web` dan mereka yang
di bawah direktori lain. Yang pertama dapat langsung diakses melalui HTTP (yaitu, di browser), sedangkan yang kedua tidak dapat dan tidak seharusnya boleh.
Yii mengimplementasikan pola arsitektur [model-view-controller (MVC)](https://wikipedia.org/wiki/Model-view-controller),
yang tercermin dalam organisasi direktori di atas. Direktori `models` berisi semua [Model kelas](structure-models.md),
direktori `views` berisi semua [view script] structure-views.md), dan direktori `controllers` mengandung
semua [kelas kontroler](structure-controllers.md).
Diagram berikut memperlihatkan struktur statis dari sebuah aplikasi.
![Struktur statis aplikasi](images/application-structure.png)
Setiap aplikasi memiliki naskah entri `web/index.php` yang merupakan satu-satunya PHP skrip dalam aplikasi yang dapat diakses web.
Naskah entri mengambil permintaan masuk dan menciptakan [aplikasi](structure-applications.md) untuk menanganinya.
[Aplikasi](structure-applications.md) menyelesaikan permintaan dengan bantuan [komponen](concept-components.md)nya,
dan mengirimkan permintaan ke elemen MVC. [Widget](structure-widgets.md) digunakan dalam [view](structure-views.md)
untuk membantu membangun elemen antarmuka pengguna yang kompleks dan dinamis.
Daur Hidup Request <span id="request-lifecycle"></span>
-----------------
Diagram berikut menunjukkan bagaimana aplikasi menangani permintaan.
![Request Lifecycle](images/request-lifecycle.png)
1. Pengguna membuat permintaan ke [skrip entri](structure-entry-scripts.md) `web/index.php`.
2. Naskah entri memuat [konfigurasi](concept-configurations.md) aplikasi dan menciptakan
   [aplikasi](structure-applications.md) untuk menangani permintaan.
3. Aplikasi menyelesaikan [route](runtime-routing.md) yang diminta dengan bantuan
   komponen [request](runtime-requests.md) aplikasi.
4. Aplikasi ini menciptakan [kontroler](structure-controllers.md) untuk menangani permintaan.
5. Controller menciptakan [action](structure-controllers.md) dan melakukan filter untuk action.
6. Jika filter gagal, aksi dibatalkan.
7. Jika semua filter lulus, aksi dieksekusi.
8. Action memuat model data, mungkin dari database.
9. Aksi meyiapkan view, menyediakannya dengan model data.
10. Hasilnya diberikan dikembalikan ke komponen aplikasi [respon](runtime-responses.md).
11. Komponen respon mengirimkan hasil yang diberikan ke browser pengguna.