Artikel

Naon Laravel, kumaha gawéna sarta arsitéktur dasar pikeun nyieun aplikasi WEB

Laravel mangrupikeun kerangka wéb basis PHP pikeun ngawangun aplikasi wéb anu luhur, ngagunakeun sintaksis anu sederhana tapi kuat.

Kerangka PHP Laravel hadir sareng koleksi alat anu padet, sareng nyayogikeun arsitéktur pikeun aplikasi anu diproduksi. Éta mangrupikeun kerangka PHP open source, nganggo arsitéktur MVC:

  • kerangka: nyaeta kumpulan métode, kelas atawa file nu programmer ngagunakeun, sarta ogé bisa manjangkeun fungsionalitas maranéhanana ngagunakeun kode sorangan.
  • Arsitéktur: nyaeta pola desain husus nu kerangka kieu. Laravel nuturkeun arsitektur MVC.

mvc

Akronim diwangun ku tilu hurup, hartina saperti kieu:

  • M: Citakan. Modél nyaéta kelas anu ngurus database. Salaku conto upami urang gaduh pangguna dina aplikasi maka urang bakal ngagaduhan modél pangguna anu tanggung jawab naroskeun tabel pangguna, upami urang gaduh modél pangguna maka urang ogé bakal gaduh méja pangguna.
  • V: Témbongkeun. A view mangrupa kelas nu ngurus sagalana urang tiasa ningali ngeunaan aplikasi dina browser nu.
  • C: Controllers. Controller mangrupikeun perantara anu ngurus modél sareng pandangan. A controller nyaéta kelas nu fetches data tina modél sarta ngirimkeun ka kelas view.

Mangpaat sarta fitur

Nyiptakeun sistem otorisasi sareng auténtikasi

Unggal nu boga aplikasi wéb kudu mastikeun yén pamaké nu teu sah teu ngakses sumberdaya nu ditangtayungan. Laravel nyayogikeun cara anu gampang pikeun nerapkeun auténtikasi. Éta ogé nyayogikeun cara anu gampang pikeun ngatur logika otorisasi sareng ngontrol aksés kana sumber.

Integrasi sareng alat

Laravel diintegrasikeun sareng seueur alat anu nyiptakeun aplikasi anu langkung gancang. Henteu ngan ukur kedah nyiptakeun aplikasi, tapi ogé nyiptakeun aplikasi anu langkung gancang. Ngahijikeun sareng caching backend mangrupikeun salah sahiji léngkah utama pikeun ningkatkeun kinerja aplikasi wéb. Laravel diintegrasikeun sareng sababaraha backend cache populér sapertos Redis sareng Memcached.

integrasi jasa mail

Laravel diintegrasikeun sareng jasa surat. Ladenan ieu dianggo pikeun ngirim email bewara. Éta nyayogikeun API anu bersih sareng saderhana anu ngamungkinkeun anjeun ngirim email gancang-gancang liwat palayanan di tempat atanapi dumasar-awan.

Tés automation

Nguji produk penting pisan pikeun mastikeun yén parangkat lunak tiasa dianggo tanpa kasalahan, bug sareng kacilakaan - iraha waé versi énggal dileupaskeun. Urang terang yén tés otomatis butuh waktos langkung sakedik tibatan tés manual, khususna pikeun tés non-regression. Laravel dikembangkeun sareng uji dina pikiran ogé.

Pamisahan kode logika bisnis tina kode presentasi

Pemisahan kode logika bisnis sareng kode presentasi ngamungkinkeun desainer perenah HTML ngarobih tampilan sareng raos tanpa berinteraksi sareng pamekar. A bug bisa dibenerkeun ku pamekar leuwih gancang lamun separation antara kode logika bisnis (Controller) jeung kode presentasi (View) disadiakeun. Urang terang yén Laravel nuturkeun arsitéktur MVC, janten pamisahan mangrupikeun konci.

Ngalereskeun kerentanan téknis anu paling umum

Laravel mangrupikeun kerangka anu aman sabab ngajagi aplikasi wéb tina sagala kerentanan kaamanan. Kerentanan mangrupikeun salah sahiji aspék anu paling penting dina pamekaran aplikasi wéb. Organisasi Amérika OWASP Foundation, definishes kerentanan kaamanan utama kayaning suntik SQL, pamundut pemalsuan, scripting, jeung saterusna.

CRON: perencanaan kagiatan konfigurasi sarta manajemén

Aplikasi WEB sok merlukeun mékanisme jadwal tugas pikeun ngajadwalkeun sareng ngaéksekusi tugas dina waktosna. Salaku conto, iraha ngirim email ka palanggan atanapi iraha ngabersihan tabel database dina ahir dinten. Pikeun ngajadwalkeun tugas, pamekar kedah nyiptakeun éntri Cron pikeun tiap tugas, sareng panjadwal paréntah Laravel defiends tata paréntah.

Nyiptakeun proyék Laravel

Pikeun nyieun proyék Laravel munggaran anjeun, anjeun kedah gaduh Composer dipasang. Upami éta henteu aya dina mesin anjeun, teraskeun masangna sakumaha anu dijelaskeun dina tulisan kami ngeunaan komposer.

Sanggeus éta nyieun diréktori anyar dina sistem Anjeun pikeun proyék Laravel anyar Anjeun. Teras, arahkeun ka jalur dimana anjeun nyiptakeun diréktori énggal, sareng jalankeun paréntah nyiptakeun proyék composer create-projectku ngetikkeun paréntah di handap ieu:

composer create-project laravel/laravel myex-app

paréntah ieu (versi 9.x) nyiptakeun proyék ngaranna myex-app

Atawa anjeun bisa nyieun proyék anyar Laravel global masang installer tina Laravel olahan Composer:

newsletter inovasi
Entong luput warta anu paling penting ngeunaan inovasi. Ngadaptar pikeun nampa aranjeunna ku email.
composer global require laravel/installer
laravel new myex-app

Saatos nyiptakeun proyék, mimitian server pangembangan Laravel lokal nganggo paréntah serve Dell 'Artisan CLI tina Laravel:

php artisan serve

Saatos ngamimitian server pamekaran Artisan, aplikasi anjeun bakal diaksés dina browser wéb anjeun di http://localhost:8000. Ayeuna, anjeun siap dianggo Laravel. Tangtosna, anjeun ogé tiasa hoyong nyetél pangkalan data.

Struktur aplikasi dina Laravel

Struktur Laravel dasarna nyaéta struktur polder, subfolder sareng file anu kalebet dina proyék. Sakali proyék didamel di Laravel, urang tiasa ningali struktur aplikasi sapertos anu dipidangkeun dina gambar folder akar Laravel:

Konfigurasi

Folder config kalebet konfigurasi sareng parameter anu aya hubunganana, anu diperyogikeun pikeun aplikasi Laravel tiasa dianggo leres. Berkas anu béda anu kalebet dina folder config didaptarkeun dina gambar di handap ieu. Ngaran koropak ngagambarkeun scopes konfigurasi.

DataBase

Diréktori ieu ngawengku rupa-rupa parameter pikeun fungsionalitas database. Ieu ngawengku tilu subdirectories:

  • Bibit: ngandung kelas anu dianggo pikeun pangkalan data uji unit;
  • Migrasi: folder ieu dipaké pikeun generasi sarta alignment struktur DB jeung aplikasi;
  • Pabrik: Polder ieu dianggo pikeun ngahasilkeun sajumlah ageung rékaman data.
masarakat

Éta mangrupikeun folder akar anu ngabantosan ngamimitian aplikasi Laravel, nyaéta ngamimitian aplikasi. Ngawengku file sareng polder ieu:

  • .htaccess: file nu nyadiakeun konfigurasi server;
  • javascript sareng css: ngandung sadaya file sumberdaya aplikasi Laravel;
  • index.php: file diperlukeun pikeun initialize hiji aplikasi wéb.
sumberdaya

Diréktori Sumberdaya ngandung file anu ningkatkeun aplikasi wéb. Subfolder kalebet dina diréktori ieu sareng tujuanana:

  • aset: folder ngawengku file kayaning LESS na SCSS, nu dipikabutuh pikeun gaya aplikasi wéb;
  • lang: ngawengku konfigurasi pikeun lokalisasi atanapi internalisasi;
  • pintonan: nyaéta file HTML atawa template nu berinteraksi sareng pamaké tungtung sarta maénkeun peran primér dina arsitektur MVC.
panyimpenan

Ieu mangrupikeun folder anu nyimpen sadaya log sareng file anu diperyogikeun nalika proyék Laravel dijalankeun. Di handap ieu subfolder anu kalebet dina diréktori ieu sareng tujuanana −

  • app: folder ieu ngandung payil nu disebut dina suksesi;
  • kerangka: ngandung sesi, caches sarta pintonan nu disebut remen;
  • Log: Ngandung file anu ngalacak masalah run-time, khususna sadaya pangecualian sareng log kasalahan.
ujians

Sadaya kasus uji unit dikandung dina diréktori ieu. Ngaran pikeun kelas test case nyaéta camel_case sarta nuturkeun konvénsi ngaran dumasar kana fungsionalitas kelas.

jelema nu ngajual nguriling

Laravel dumasar kana dependensi anu diurus komposer, contona pikeun masang setelan Laravel atanapi ngalebetkeun perpustakaan pihak ka-XNUMX, jsb.

Folder Vendor ngandung sadaya katergantungan tina komposer.

Ercole Palmeri

newsletter inovasi
Entong luput warta anu paling penting ngeunaan inovasi. Ngadaptar pikeun nampa aranjeunna ku email.

Artikel panganyarna

Mangpaat Kaca Mewarna pikeun Barudak - dunya sihir pikeun sagala umur

Ngembangkeun kaahlian motorik halus ngaliwatan ngawarnaan nyiapkeun barudak pikeun kaahlian leuwih kompleks kawas nulis. Pikeun ngawarnaan…

2 Méi 2024

Masa Depan Ieu Ieu: Kumaha Industri Pengiriman Revolutionizing Ékonomi Global

Sektor angkatan laut mangrupikeun kakuatan ékonomi global anu leres, anu nuju ka arah pasar 150 milyar ...

1 Méi 2024

Penerbit sareng OpenAI nandatanganan perjanjian pikeun ngatur aliran inpormasi anu diolah ku Artificial Intelligence

Senén kamari, Financial Times ngumumkeun deal sareng OpenAI. FT ngalisensikeun jurnalisme kelas dunya na…

April 30 2024

Pamayaran Online: Ieu Kumaha Ladenan Streaming Ngadamel Anjeun Mayar Salamina

Jutaan jalma mayar jasa streaming, mayar biaya langganan bulanan. Pendapat umum yén anjeun…

April 29 2024