mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-10-31 10:39:59 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			103 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| Menjalankan Aplikasi
 | ||
| ====================
 | ||
| 
 | ||
| Setelah menginstal Yii, Anda memiliki aplikasi Yii yang dapat diakses melalui
 | ||
| URL `https://hostname/basic/web/index.php` atau `https://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 `https://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 `https://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`):
 | ||
| 
 | ||
| ```
 | ||
| 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 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.
 | 
