Belajar Kode Program

Blog belajar menulis kode program dan aplikasi komputer

Sabtu, 23 September 2017

Praktik Membuat Komponen pada Yii2

Pengembangan aplikasi dengan Yii Framework tidak mungkin dapat terlepas dari yang namanya komponen. Komponen merupakan kelas yang memiliki sifat, properti, serta event. Yang paling sering kita gunakan adalah request, cache, user, mail, log, urlManager, db, dan sebagainya. Mengaksesnya pun mudah, misalnya Yii::$app->db, dan seterusnya.
Kita dapat melihat komponen apa saja yang kita gunakan pada file konfigurasi. Komponen memiliki tugas tertentu yang akan banyak kita gunakan dalam berbagai potongan-potongan kode program. Kali ini kita akan belajar membuat komponen sendiri, sesuai kebutuhan sistem yang kita kembangkan.

Langkah pertama, buatlah folder components di direktori dasar.

Langkah kedua, buatlah sebuah file kelas komponen tersebut, misalnya 'Komponenku'
namespace app\components;

use Yii;
use yii\base\Component;
use yii\base\InvalidConfigException;

class Komponenku extends Component
{
 public function salam()
 {
  echo "Selamat pagi....";
 }
}

Langkah ketiga, lakukan pengaturan pada file konfigurasi.
'components' => [
 //...
 'komponenku' => [
  'class' => 'app\components\Komponenku',
 ],
 //...
]
Langkah keempat, menggunakannya dalam kode program Anda. Cara memanggilnya cukup dengan kode berikut:
Yii::$app->komponenku->salam();

Kita dapat juga membuat komponen dalam skup suatu modul. Caranya sama, hanya saja pengaturannya mengikuti bagian module. Contoh:
'modules' => [
 'admin' => [
  'class' => 'app\modules\admin\Module',
  'components' => [
    'helper' => [
    'class' => 'app\modules\admin\components\Helper',
   ],
  ]
 ],
],
Misalkan komponen Helper berisi kode seperti ini:
<?php

namespace app\modules\admin\components;

use Yii;
use yii\base\Component;

class Helper extends Component
{
  public function salam()
  {
   echo "Selamat pagi";
  }
}
Kemudian memanggilnya seperti ini:
$module = \Yii::$app->getModule('admin');
$module->helper->salam();

Demikian, semoga bermanfaat dan selamat belajar!

Tidak ada komentar:

Posting Komentar