Artikel

Apa Laravel, cara kerjane lan arsitektur dhasar kanggo nggawe aplikasi WEB

Laravel minangka kerangka web basis PHP kanggo mbangun aplikasi web kanthi dhuwur, nggunakake sintaksis sing prasaja nanging kuat.

Framework PHP Laravel dilengkapi koleksi alat sing padhet, lan nyedhiyakake arsitektur kanggo aplikasi sing diprodhuksi. Iki minangka kerangka PHP open source, nggunakake arsitektur MVC:

  • framework: punika koleksi cara, kelas utawa file sing programmer nggunakake, lan uga bisa ngluwihi fungsi nggunakake kode dhewe.
  • Arsitektur: punika pola desain tartamtu sing framework nderek. Laravel nderek arsitektur MVC.

mvc

Akronim kasusun saka telung aksara, tegese kaya ing ngisor iki:

  • M: Cithakan. Model minangka kelas sing ngurusi basis data. Contone, yen kita duwe pangguna ing aplikasi, kita bakal duwe model pangguna sing tanggung jawab kanggo takon tabel pangguna, yen kita duwe model pangguna, kita uga bakal duwe tabel pangguna.
  • V: Ndeleng. Tampilan minangka kelas sing ngurus kabeh sing bisa dideleng babagan aplikasi ing browser.
  • C: Pengontrol. Pengontrol minangka perantara sing ngurus model lan tampilan. Pengontrol yaiku kelas sing njupuk data saka model lan dikirim menyang kelas tampilan.

Keuntungan lan fitur

Nggawe sistem wewenang lan otentikasi

Saben pemilik aplikasi web kudu yakin manawa pangguna sing ora sah ora ngakses sumber daya sing dilindhungi. Laravel nyedhiyakake cara sing gampang kanggo ngetrapake otentikasi. Iki uga menehi cara sing gampang kanggo ngatur logika wewenang lan ngontrol akses menyang sumber daya.

Integrasi karo alat

Laravel digabungake karo akeh alat sing nggawe app luwih cepet. Sampeyan ora mung perlu kanggo nggawe app, nanging uga kanggo nggawe app luwih cepet. Integrasi karo backend caching minangka salah sawijining langkah utama kanggo nambah kinerja aplikasi web. Laravel digabungake karo sawetara backend caching populer kaya Redis lan Memcached.

Integrasi layanan mail

Laravel terintegrasi karo layanan surat. Layanan iki digunakake kanggo ngirim email kabar. Nyedhiyakake API sing resik lan prasaja sing ngidini sampeyan ngirim email kanthi cepet liwat layanan ing papan utawa basis awan.

Tes otomatisasi

Nguji produk penting banget kanggo mesthekake yen piranti lunak bisa digunakake tanpa kesalahan, kewan omo lan kacilakan - kapan versi anyar dirilis. Kita ngerti manawa tes otomatis butuh wektu luwih sithik tinimbang tes manual, utamane kanggo tes non-regression. Laravel dikembangake kanthi tes uga.

Pemisahan kode logika bisnis saka kode presentasi

Pemisahan kode logika bisnis lan kode presentasi ngidini desainer tata letak HTML ngganti tampilan lan aran tanpa sesambungan karo pangembang. A bug bisa didandani dening pangembang luwih cepet yen misahake antarane kode logika bisnis (Controller) lan kode presentation (View) kasedhiya. Kita ngerti manawa Laravel ngetutake arsitektur MVC, mula pamisahan minangka kunci.

Ndandani kerentanan teknis sing paling umum

Laravel minangka kerangka kerja sing aman amarga nglindhungi aplikasi web saka kabeh kerentanan keamanan. Kerentanan minangka salah sawijining aspek sing paling penting ing pangembangan aplikasi web. Organisasi Amerika OWASP Foundation, defingrampungake kerentanan keamanan utama kayata injeksi SQL, panjaluk pemalsuan, skrip, lan liya-liyane.

CRON: perencanaan konfigurasi lan aktivitas manajemen

Aplikasi WEB tansah mbutuhake mekanisme jadwal tugas kanggo gawe jadwal lan nglakokake tugas ing wektu. Contone, nalika ngirim email menyang pelanggan utawa nalika ngresiki tabel database ing mburi dina. Kanggo gawe jadwal tugas, pangembang kudu nggawe entri Cron kanggo saben tugas, lan panjadwal perintah Laravel defiends printah planning.

Nggawe proyek Laravel

Kanggo nggawe proyek Laravel pisanan sampeyan, sampeyan kudu duwe Composer diinstal. Yen ora ana ing mesin sampeyan, terusake nginstal kaya sing diterangake ing artikel kita pengarang.

Sawise nggawe direktori anyar ing sistem sampeyan kanggo proyek Laravel anyar sampeyan. Sabanjure, navigasi menyang dalan ing ngendi sampeyan nggawe direktori anyar, lan jalanake printah nggawe proyek composer create-projectkanthi ngetik printah ing ngisor iki:

composer create-project laravel/laravel myex-app

Printah iki (versi 9.x) nggawe proyek jenenge myex-app

Utawa sampeyan bisa nggawe proyek anyar Laravel global nginstal installer saka Laravel prosedur Composer:

newsletter inovasi
Aja kantun warta paling penting babagan inovasi. Mlebu kanggo nampa wong-wong mau liwat email.
composer global require laravel/installer
laravel new myex-app

Sawise nggawe proyek, miwiti server pangembangan Laravel lokal nggunakake printah serve dell 'Artisan CLI saka Laravel:

php artisan serve

Sawise miwiti server pangembangan Artisan, aplikasi sampeyan bakal bisa diakses ing browser web sampeyan ing http://localhost:8000. Saiki, sampeyan wis siyap digunakake Laravel. Mesthi, sampeyan uga pengin nyiyapake database.

Struktur aplikasi ing Laravel

Struktur Laravel minangka struktur folder, subfolder lan file sing kalebu ing sawijining proyek. Sawise proyek digawe ing Laravel, kita bisa ndeleng struktur aplikasi kaya sing ditampilake ing gambar folder root Laravel:

config

Folder config kalebu konfigurasi lan paramèter sing digandhengake, sing dibutuhake supaya aplikasi Laravel bisa digunakake kanthi bener. File beda sing kalebu ing folder config kapacak ing gambar ing ngisor iki. Jeneng berkas makili lingkup konfigurasi.

database

Direktori iki kalebu macem-macem parameter kanggo fungsi database. Iku kalebu telung subdirektori:

  • Wiji: ngemot kelas sing digunakake kanggo database test unit;
  • Migrasi: folder iki digunakake kanggo generasi lan alignment struktur DB karo aplikasi;
  • Pabrik: Folder iki digunakake kanggo ngasilake rekaman data sing akeh.
Public

Iki minangka folder root sing mbantu miwiti aplikasi Laravel, yaiku wiwitan aplikasi. Kalebu file lan folder ing ngisor iki:

  • .htaccess: file sing nyedhiyakake konfigurasi server;
  • javascript lan css: ngemot kabeh file sumber daya aplikasi Laravel;
  • index.php: file sing dibutuhake kanggo miwiti aplikasi web.
Resources

Direktori Resources ngemot file sing nambah aplikasi web. Subfolder kalebu ing direktori iki lan tujuane:

  • aset: folder kalebu file kayata LESS lan SCSS, sing perlu kanggo gaya aplikasi web;
  • lang: kalebu konfigurasi kanggo lokalisasi utawa internalisasi;
  • views: iku file HTML utawa cithakan sing sesambungan karo pangguna pungkasan lan muter peran utami ing arsitektur MVC.
Lumbung

Iki minangka folder sing nyimpen kabeh log lan file sing dibutuhake nalika proyek Laravel lagi mlaku. Ing ngisor iki ana subfolder sing kalebu ing direktori iki lan tujuane −

  • app: folder iki ngemot file sing diarani berturut-turut;
  • framework: ngemot sesi, caches lan views sing kerep disebut;
  • Log: Ngandhut file sing nglacak masalah run-time, utamane kabeh pangecualian lan log kesalahan.
tests

Kabeh kasus uji unit ana ing direktori iki. Penamaan kanggo kelas test case yaiku camel_case lan ngetutake konvensi penamaan adhedhasar fungsi kelas kasebut.

Vendor

Laravel adhedhasar dependensi sing dikelola pengarang, contone kanggo nginstal Laravel persiyapan utawa kanggo kalebu perpustakaan pihak katelu, etc.

Folder Vendor ngemot kabeh dependensi saka pengarang.

Ercole Palmeri

newsletter inovasi
Aja kantun warta paling penting babagan inovasi. Mlebu kanggo nampa wong-wong mau liwat email.

Artikel anyar

Regulator antitrust Inggris mundhakaken weker BigTech liwat GenAI

CMA UK wis ngetokake bebaya babagan prilaku Big Tech ing pasar intelijen buatan. Ana…

18 April 2024

Casa Green: revolusi energi kanggo masa depan sing lestari ing Italia

Keputusan "Case Green", sing dirumusake dening Uni Eropa kanggo ningkatake efisiensi energi bangunan, wis rampung proses legislatif kanthi…

18 April 2024

E-commerce ing Italia kanthi + 27% miturut Laporan anyar dening Casaleggio Associati

Laporan taunan Casaleggio Associati babagan E-commerce ing Italia ditampilake. Laporan kanthi irah-irahan "AI-Commerce: tapel wates E-dagang kanthi Kecerdasan Buatan".…

17 April 2024

Ide Sarwa: Bandalux nampilake Airpure®, tirai sing ngresiki hawa

Asil inovasi teknologi sing terus-terusan lan komitmen kanggo lingkungan lan kesejahteraan masarakat. Bandalux nampilake Airpure®, tenda…

12 April 2024