laravel

Fasad Laravel

Fasad Laravel
Bekas perkhidmatan Laravel membolehkan pengguna memulakan kelas dengan alias. Cara untuk mengakses wadah perkhidmatan Laravel disebut fasad. Laravel mengandungi banyak fasad bawaan untuk mengakses pelbagai ciri Laravel. Fasad digunakan di Laravel untuk menjadikan aplikasi lebih mudah diuji, fleksibel, dan lebih sederhana. Semua fasad terbina dalam ditentukan di ruang nama Menerangi \ Sokongan \ Fasad. Tutorial ini menunjukkan cara membuat dan menggunakan fasad terbina dalam Laravel.

Penggunaan Fasad Built-In

Anda mesti membuat pengawal untuk menggunakan fasad terbina dalam. Jalankan arahan berikut untuk membuat pengawal bernama TestController.

Ubah suai TestController dengan kod berikut untuk menunjukkan penggunaan fasad terbina dalam DB. Fasad ini digunakan untuk melakukan semua jenis operasi pangkalan data. Dalam kod berikut, semua rekod jadual pengguna akan diambil dengan menggunakan DB muka depan. Keluaran akan dicetak sebagai array setelah melaksanakan kod.

TestController.php:

namespace App \ Http \ Controllers;
gunakan Illuminate \ Http \ Request;
gunakan DB;
kelas TestController meluaskan Pengawal

indeks fungsi awam ()

$ users = DB :: select ('select * from users');
echo print_r (pengguna $);

Tambahkan laluan berikut di laman web.php fail. Ini akan memanggil indeks () kaedah TestController untuk laluan '/ ujian.'

Laluan :: get ('/ test', '[email dilindungi]');

Jalankan URL berikut dari penyemak imbas.

http: // localhost / laravelpro / awam / ujian

Buat Fasad

Ikuti langkah-langkah di bawah untuk membuat fasad khas di Laravel.

1. Buat folder bernama Kawasan bawah aplikasinya folder dan buat fail bernama Kawasan.php di bawah folder ini dengan kod berikut. Empat kaedah ditentukan dalam kelas untuk mengira luas bulatan, segi empat sama, segi empat tepat, dan segitiga. Bulatan () akan mengambil nilai jejari sebagai parameter untuk mengira luasnya. Petak () akan mengambil panjang setiap sisi segi empat sama sebagai parameter untuk mengira luasnya. Segi empat tepat () akan mengambil ketinggian dan lebar sebagai parameter untuk mengira luasnya. Segi tiga () akan mengambil nilai asas dan tinggi segitiga untuk mengira luasnya.

namespace App \ Area;
Kawasan kelas

Lingkaran fungsi awam ($ radius)

kembali "Kawasan bulatan adalah".(3.14 * $ radius * $ radius);

Dataran fungsi awam ($ len)

kembali "Kawasan sqaure adalah".($ len * $ len);

Rectangle fungsi awam ($ tinggi, $ lebar)

kembali "Luas segi empat tepat adalah".(tinggi $ * lebar $);

Segi tiga fungsi awam ($ asas, $ tinggi)

kembali "Luas segitiga adalah".(0.5 * $ asas * $ tinggi);

2. Tambahkan laluan berikut untuk mengakses kaedah Kawasan kelas. Di sini, apabila pengguna menaip 'kawasan'selepas URL asas, objek dari Kawasan kelas akan ditentukan, dan empat kaedah kelas ini dipanggil dengan nilai parameter. Tetapi, jika anda ingin mengakses kaedah kelas secara langsung seperti fasad tanpa membuat objek, maka ralat akan dihasilkan. Langkah seterusnya menunjukkan kepada anda cara membuat fasad untuk mengakses kaedah kelas ini secara langsung.

gunakan App \ Area \ Area;
Laluan :: get ('/ area', fungsi ()
$ area = Kawasan baru ();
echo $ area-> Bulatan (3)."
";
echo $ area-> Square (4)."
";
echo $ area-> Rectangle (100,200)."
";
echo $ area-> Segitiga (10,5)."
";
);

3. Jalankan URL berikut dari penyemak imbas untuk memeriksa sama ada laluan tersebut berfungsi.

http: // localhost / laravelpro / awam / kawasan

Output berikut akan muncul jika laluan berfungsi dengan baik.

4. Buat folder bernama Fasad di bawah aplikasi folder dan buat fail bernama KiraArea.php dengan kod berikut. Di sini, getFacadeAccessor () kaedah ditakrifkan di dalam KiraArea untuk mengembalikan rentetan cal_area digunakan untuk mengikat Kawasan kelas.

namespace App \ Fasad;
kelas CalculateArea memanjang \ Illuminate \ Support \ Facades \ Facade

fungsi statik awam getFacadeAccessor ()

pulangkan 'cal_area';

5. Buka laman web.php dan tambahkan kod berikut untuk mengikat Kawasan kelas dengan KiraArea kelas fasad mengikut rentetan cal_area.

app () -> bind ('cal_area', fungsi ()
kembali baru \ App \ Area \ Area;
);

6. Buka aplikasi.php fail di bawah konfigurasi folder. Pergi ke bahagian array alias dan tambahkan baris berikut di akhir array. Ini mentakrifkan KiraArea sebagai indeks array dan nilainya adalah kelas fasad yang ditentukan di bawah /aplikasi/ fasad folder. Sekarang, anda boleh mengakses kaedah Kawasan kelas sebagai fasad tanpa membuat objek.

'CalculateArea' => Aplikasi \ Fasad \ CalculateArea :: kelas,

7. Tambahkan laluan berikut di laman web.php fail untuk mengakses kaedah Kawasan kelas menggunakan KiraArea fasad.

Laluan :: get ('/ calarea', function ()
echo CalculateArea :: Lingkaran (3)."
";
echo CalculateArea :: Kotak (4)."
";
echo CalculateArea :: Segi empat tepat (100,200)."
";
echo CalculateArea :: Segitiga (10,5)."
";
);

8. Jalankan URL berikut dari penyemak imbas untuk memeriksa sama ada laluan tersebut berfungsi.

http: // localhost / laravelpro / awam / calarea

Output berikut akan muncul jika laluan berfungsi dengan baik.

9. Anda juga boleh menggunakan KiraArea fasad seperti fasad terbina dalam mana-mana alat kawalan. Jalankan arahan berikut untuk membuat pengawal bernama Pengawal Facade Dimanakah KiraArea fasad akan diaplikasikan.

$ php artisan make: pengawal FacadeController

Ubah suai pengawal dengan kod berikut, di mana KiraArea fasad diimport dan indeks () kaedah ditambahkan di dalam pengawal. Apabila indeks () kaedah disebut, empat kaedah Kawasan kelas akan dipanggil, dan output yang diformat akan dicetak dengan menggunakan CSS.

namespace App \ Http \ Controllers;
gunakan Illuminate \ Http \ Request;
gunakan CalculateArea;
kelas FacadeController meluaskan Pengawal

indeks fungsi awam ()

gema "

".KiraArea :: Lingkaran (5)."

";
gema "

".HitungArea :: Kotak (5)."

";
gema "

".KiraArea :: Segi empat tepat (200,200)."

";
gema "

".KiraArea :: Segitiga (15,5)."

";

10. Tambahkan laluan berikut di laman web.php untuk mengakses untuk mengakses indeks () kaedah Pengawal Facade.

Laluan :: get ('calculArea', '[email dilindungi]');

11. Jalankan URL berikut dari penyemak imbas untuk memeriksa sama ada laluan tersebut berfungsi.

http: // localhost / laravelpro / public / calculateArea

Output berikut akan muncul jika laluan berfungsi dengan baik.

Kesimpulannya

Ciri yang dibincangkan dalam artikel ini dapat digunakan di tempat yang berbeda, seperti pengawal atau rute Laravel, dengan menggunakan fasad. Ini menjadikan tugas pembangunan lebih mudah. Penggunaan kedua-dua fasad bawaan dan yang ditentukan pengguna dijelaskan dalam tutorial ini dengan menggunakan contoh yang sesuai. Penggunaan fasad terbina dalam, DB, ditunjukkan dengan menggunakan alat kawalan. Penggunaan fasad khas, KiraArea, ditunjukkan dengan menggunakan laluan dan pengawal. Tutorial ini menjelaskan konsep penggunaan fasad untuk membantu pemaju Laravel menerapkannya dalam projek mereka, berdasarkan keperluan khusus mereka.

HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...
Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...
Cara Menunjukkan Kaunter FPS dalam Permainan Linux
Permainan Linux mendapat dorongan utama ketika Valve mengumumkan sokongan Linux untuk klien Steam dan permainan mereka pada tahun 2012. Sejak itu, ban...