Senin, 07 Maret 2016
Komponen Aplikasi Yii2
Aplikasi merupakan service locator. Yang menjadi tuan rumah dari komponen aplikasi yang menyediakan service bermacam-macam untuk memproses request. Contohnya, komponen urlManager bertanggung jawab untuk me-routing web request kepada controller yang bersangkutan, komponen db menyediakan layanan yang berhubungan dengan database, dan lain sebagainya.Setiap komponen aplikasi memiliki sebuah ID yang membedakan antar komponen dalam satu aplikasi. Anda dapat mengakses komponen aplikasi melalui expression
\Yii::$app->componentID
Sebagai contoh, anda dapat menggunakan \Yii::$app->componentID untuk mendapatkan koneksi Database, dan \Yii::$app->cache untuk mendapatkan cache yang didaftarkan oleh aplikasi.Sebuah komponen aplikasi dibuat pertama kali ketika diakses dengan menggunakan expression diatas. Akses-akses berikutnya akan me-return instance component yang sama.
Komponen aplikasi dapat berupa object apapun. Anda dapat me-registernya dengan mengkonfigurasi properti yii\base\Application::$components dalam konfigurasi aplikasi. Contohnya:
[ 'components' => [ // register "cache" component using a class name 'cache' => 'yii\caching\ApcCache', // register "db" component using a configuration array 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=demo', 'username' => 'root', 'password' => '', ], // register "search" component using an anonymous function 'search' => function () { return new app\components\SolrService; }, ], ]
Bootstrapping Komponen
Seperti yang sudah disebutkan diatas, komponen aplikasi akan di instansikan ketika diakses pertama kali. Jika pada saat proses komponen tidak diakses sama sekali, komponen tersebut tidak akan di instansikan.Apabila anda menghendaki untuk menginstansikan komponen aplikasi untuk setiap request meskipun tidak selalu di butuhkan. Anda bisa mendaftarkan ID komponennya kedalam property bootstrap aplikasi.
Sebagai contoh, berikut adalah konfigurasi aplikasi yang mengatur bahwa komponen log akan selalu dimua:
[ 'bootstrap' => [ 'log', ], 'components' => [ 'log' => [ // configuration for "log" component ], ], ]
Komponen Aplikasi Inti
Yii mendefinisikan beberapa komponen aplikasi inti / dasar dengan ID tetap dan konfigurasi default. Contohnya , komponen request digunakan untuk mengumpulkan informasi dari user request dan meneruskannya kepada route, komponen db mewakili koneksi database dimana anda bisa melakukan query database. Dengan bantuan komponen-komponen dasar tersebut, aplikasi Yii dapat mengolah request user.Berikut adlalah daftar komponen-komponen inti / dasar. Anda bisa mengkonfigurasi dan mengkustomasinya sesuai kebutuhan anda seperti layaknya komponen-komponen aplikasi biasa.
- assetManager : me-manage asset bundle dan publishing asset.
- db : merupakan komponen yang digunakan untuk koneksi database dan melakukan query database.
Membutuhkan konfigurasi untuk koneksi database yang bisa anda atur dalam file konfigurasi db. - errorHandler : Meng-handle PHP errors dan exception.
- formatter : digunakan untuk men-format data yang hendak ditampilkan kepada end user. Contohnya data angka, mata uang, tanggal, dll.
- i18n : dukungan penerjemahan translasi dan formatting pesan.
- log : me-manage log target.
- mail : dukungan pengiriman dan penerimaan mail.
- response : untuk mewakili response yang dikirim kepada end user.
- request : untuk mewakili request yang diterima dari end user.
- session : mewakili informasi sesi.
- urlManager : dukungan parsing URL dan pembuatan URL.
- user : mewakili informasi otentikasi user.
- view : dukungan view rendering.
loading...
Langganan:
Posting Komentar
(
Atom
)
Popular Posts
-
Secara default, Yii2 dibekali oleh template Bootstrap 3. Namun kita juga bisa menambahkan template lain yang lebih baik, seperti misalnya ...
-
Pada tutorial ini, saya akan membahas bagaimana cara membuat aplikasi CRUD (Create Read Update Delete) database secara otomatis dengan mengg...
-
RBAC (Role-Based Access Control) adalah konsep Access Control di Yii2 yang memisahkan hak akses user berdasarkan role atau peran. Yii2 sen...
© Asudahlah.com 2016 . Powered by Twitter Bootstrap , Blogger
Tidak ada komentar :
Posting Komentar