Penggunaan Fasad Built-in
Anda harus membuat pengontrol untuk menggunakan fasad bawaan apa pun. Jalankan perintah berikut untuk membuat pengontrol bernama TestController.
Ubah TestController dengan kode berikut untuk menunjukkan penggunaan fasad bawaan DB. Fasad ini digunakan untuk melakukan semua jenis operasi database. Dalam kode berikut, semua catatan tabel pengguna akan diambil dengan menggunakan: DB tatapan. Output akan dicetak sebagai array setelah menjalankan kode.
TestController.php:
namespace App\Http\Controllers;gunakan Illuminate\Http\Request;
menggunakan DB;
kelas TestController memperluas Controller
indeks fungsi publik()
$pengguna = DB::select('pilih * dari pengguna');
echo print_r($pengguna);
Tambahkan rute berikut di jaring.php mengajukan. Ini akan memanggil indeks() metode TestController untuk rute '/uji.'
Rute::get('/test', '[email protected]');Jalankan URL berikut dari browser.
http://localhost/laravelpro/public/test
Buat Fasad
Ikuti langkah-langkah di bawah ini untuk membuat fasad khusus di Laravel.
1. Buat folder bernama Daerah dibawah aplikasi folder dan buat file bernama Daerah.php di bawah folder ini dengan kode berikut. Empat metode didefinisikan di kelas untuk menghitung luas lingkaran, persegi, persegi panjang, dan segitiga. Lingkaran() akan mengambil nilai radius sebagai parameter untuk menghitung area. Kotak() akan mengambil panjang setiap sisi bujur sangkar sebagai parameter untuk menghitung luasnya. Empat persegi panjang() akan mengambil tinggi dan lebar sebagai parameter untuk menghitung luas. Segi tiga() akan mengambil nilai alas dan tinggi segitiga untuk menghitung luasnya.
aplikasi namespace\Area;Area kelas
fungsi publik Lingkaran($radius)
kembali "Luas lingkaran adalah".(3.14*$jari-jari*$jari-jari);
fungsi publik Kotak($len)
kembali "Luas persegi adalah ".($len*$len);
fungsi publik Rectangle($height,$width)
kembali "Luas persegi panjang adalah ".($tinggi*$lebar);
fungsi publik Segitiga($dasar,$tinggi)
kembali "Luas segitiga adalah ".(0.5*$dasar*$tinggi);
2. Tambahkan rute berikut untuk mengakses metode dari Daerah kelas. Di sini, ketika pengguna mengetik 'daerah' setelah URL dasar, objek dari Daerah kelas akan didefinisikan, dan empat metode kelas ini dipanggil dengan nilai parameter. Tetapi, jika Anda ingin mengakses metode kelas secara langsung seperti fasad tanpa membuat objek, maka kesalahan akan dihasilkan. Langkah selanjutnya menunjukkan cara membuat fasad untuk mengakses metode kelas ini secara langsung.
gunakan Aplikasi\Area\Area;Rute::get('/area', function()
$luas = luas baru();
echo $area->Lingkaran(3)."
";
echo $area->Persegi(4)."
";
echo $area->Rectangle(100.200)."
";
echo $area->Segitiga(10,5)."
";
);
3. Jalankan URL berikut dari browser untuk memeriksa apakah rute berfungsi.
http://localhost/laravelpro/public/area
Output berikut akan muncul jika rute berfungsi dengan baik.
4. Buat folder bernama Fasad di bawah aplikasi folder dan buat file bernama Hitung Luas.php dengan kode berikut. Di sini, getFacadeAccessor() metode didefinisikan di dalam Hitung Luas untuk mengembalikan string cal_area digunakan untuk mengikat Daerah kelas.
namespace App\Facades;kelas HitungArea meluas \Illuminate\Support\Facades\Facade
fungsi statis publik getFacadeAccessor()
kembali 'cal_area';
5. Buka jaring.php dan tambahkan kode berikut untuk mengikat Daerah kelas dengan Hitung Luas kelas fasad dengan tali cal_area.
app()->bind('cal_area', function()kembalikan \App\Area\Area baru;
);
6. Buka aplikasi.php file di bawah konfigurasi map. Buka bagian array alias dan tambahkan baris berikut di akhir array. Ini mendefinisikan Hitung Luas sebagai indeks array dan nilainya adalah kelas fasad yang didefinisikan di bawah /aplikasi/tatapan map. Sekarang, Anda dapat mengakses metode dari Daerah kelas sebagai fasad tanpa membuat objek apa pun.
'CalculateArea' => App\Facades\CalculateArea::class,7. Tambahkan rute berikut di jaring.php file untuk mengakses metode dari Daerah kelas menggunakan Hitung Luas tatapan.
Rute::get('/calarea', function()echo HitungArea::Lingkaran(3)."
";
echo HitungArea::Persegi(4)."
";
echo HitungArea::Persegi Panjang(100.200)."
";
echo HitungArea::Segitiga(10,5)."
";
);
8. Jalankan URL berikut dari browser untuk memeriksa apakah rute berfungsi.
http://localhost/laravelpro/public/calarea
Output berikut akan muncul jika rute berfungsi dengan baik.
9. Anda juga dapat menggunakan Hitung Luas fasad seperti fasad bawaan di pengontrol apa pun. Jalankan perintah berikut untuk membuat pengontrol bernama Pengontrol Fasad Dimana Hitung Luas fasad akan diterapkan.
$ php artisan make:controller FacadeControllerUbah pengontrol dengan kode berikut, di mana: Hitung Luas fasad diimpor dan indeks() metode ditambahkan di dalam pengontrol. Ketika indeks() metode disebut, empat metode dari Daerah kelas akan dipanggil, dan output yang diformat akan dicetak dengan menggunakan CSS.
namespace App\Http\Controllers;gunakan Illuminate\Http\Request;
gunakan HitungArea;
kelas FacadeController memperluas Controller
indeks fungsi publik()
gema "
".Hitung Luas::Lingkaran(5)."
";gema "
".Hitung Luas::Persegi(5)."
";gema "
".Hitung Luas::Persegi Panjang(200.200)."
";gema "
".Hitung Luas::Segitiga(15,5)."
";10. Tambahkan rute berikut di jaring.php untuk mengakses untuk mengakses indeks() metode dari Pengontrol Fasad.
Route::get('calculateArea', '[email protected]');11. Jalankan URL berikut dari browser untuk memeriksa apakah rute berfungsi.
http://localhost/laravelpro/public/calculateArea
Output berikut akan muncul jika rute berfungsi dengan baik.
Kesimpulan
Fitur yang dibahas dalam artikel ini dapat digunakan di berbagai tempat, seperti pengontrol atau rute Laravel, dengan menggunakan fasad. Ini membuat tugas pengembangan lebih mudah. Penggunaan fasad built-in dan yang ditentukan pengguna dijelaskan dalam tutorial ini dengan menggunakan contoh yang sesuai. Penggunaan fasad bawaan, DB, ditunjukkan dengan menggunakan pengontrol. Penggunaan fasad khusus, Hitung Luas, ditunjukkan dengan menggunakan rute dan pengontrol. Tutorial ini menjelaskan konsep penggunaan fasad untuk membantu pengembang Laravel menerapkannya dalam proyek mereka, berdasarkan persyaratan khusus mereka.