DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Daftar Isi:
Semakin besar aplikasi yang dibuat semakin sulit untuk mengorganisirnya. Ditambah banyak fungsi yang sama ditulis terus berulang-ulang dalam pembuatan website.
Laravel membantu web developer untuk itu. Menulis kode yang cantik dan rapi menjadi lebih mudah. Framework ini menyediakan -eloquent- sebagai ORM untuk berinteraksi dengan database. Kamu akan melihat query-query yang sebelumnya panjang untuk ditulis akan menjadi lebih mudah dibaca, apalagi masalah relasi (hubungan antara satu table ke table lain).
Laravel adalah framework pengembangan web yang ditulis dalam bahasa pemrograman PHP. Dibuat oleh Taylor Otwell dan dirilis pertama kali pada Juni 2011, Laravel dirancang untuk membantu pengembang membangun aplikasi web yang mengikuti pola arsitektur Model-View-Controller (MVC).
Fitur-fitur utama Laravel mencakup:
Laravel memiliki mesin templating built-in yang kuat namun sederhana, yang disebut Blade, memungkinkan Anda membangun tampilan aplikasi Anda dengan kode PHP biasa.
Eloquent ORM (Object-Relational Mapping) di Laravel menyediakan implementasi sederhana dan mudah dari Active Record pattern yang memungkinkan Anda bekerja dengan basis data menggunakan model objek.
Laravel membuat pengelolaan basis data menjadi mudah dengan menggunakan migrasi dan seeding database. Migrasi digunakan untuk mengatur struktur database, sementara seeding digunakan untuk mengisi data awal ke dalam database.
Laravel memiliki fitur-fitur keamanan built-in, seperti proteksi CSRF (Cross-Site Request Forgery), enkripsi data, dan hashing password.
Laravel sudah dilengkapi dengan alat untuk pengujian unit, yang membuatnya mudah untuk menguji aplikasi web dan memastikan kode yang ditulis berfungsi sebagaimana mestinya.
Laravel juga menyediakan fitur scheduling tasks dan event handling, yang memungkinkan aplikasi web untuk melakukan tugas-tugas otomatis pada interval waktu tertentu atau merespons terhadap kejadian (events) tertentu.
Fungsi-fungsi lain seperti middleware, melakukan validasi sampai sistem authentikasi semuanya disediakan oleh Laravel. Secara umum, laravel menggunakan struktur MVC (Model - View - Controller) dimana kita akan membagi kodenya menjadi
MVC merupakan singkatan dari Model-View-Controller. Ini adalah sebuah pola desain atau arsitektur yang digunakan dalam pengembangan perangkat lunak, khususnya untuk aplikasi web. Pola ini memisahkan aplikasi menjadi tiga komponen utama: Model, View, dan Controller.
Berikut ini penjelasan tentang tiga komponen tersebut dalam konteks framework Laravel:
Model dalam Laravel adalah bagian yang bertanggung jawab untuk menangani data dan logika bisnis. Ini adalah representasi dari struktur data dalam aplikasi Anda, biasanya masing-masing tabel dalam database memiliki model yang berkaitan. Model berinteraksi dengan database, memproses data, dan mungkin juga mengandung aturan validasi atau “bisnis logika” spesifik.
View adalah bagian yang bertanggung jawab untuk menyajikan data kepada pengguna. Dalam konteks aplikasi web, view biasanya dalam bentuk halaman HTML, namun juga bisa dalam bentuk output lain seperti format JSON untuk API. Dalam Laravel, Anda biasanya akan menggunakan sistem templating Blade untuk membuat view Anda.
Controller adalah bagian yang bertanggung jawab untuk mengatur alur aplikasi. Controller menerima input dari pengguna (biasanya dari sebuah form web atau API request), kemudian memproses input tersebut dengan bantuan model, dan akhirnya mengirimkan data ke view untuk disajikan ke pengguna. Jadi, controller bertindak sebagai penghubung antara Model dan View.
Arsitektur MVC ini digunakan dalam Laravel untuk membantu pengembang mengorganisir kode mereka dengan cara yang logis dan konsisten, yang pada gilirannya membuat kode lebih mudah untuk dimaintain dan dikembangkan.
Laravel dan PHP Native adalah dua pendekatan yang berbeda untuk mengembangkan aplikasi web menggunakan bahasa pemrograman PHP.
PHP Native adalah istilah yang digunakan untuk mendeskripsikan penulisan kode PHP tanpa menggunakan kerangka kerja (framework) apapun. Dalam pengembangan PHP Native, pengembang bertanggung jawab untuk menulis semua kode, mulai dari mengatur rute, melakukan operasi database, hingga menangani request dan response. Keuntungan utama dari PHP Native adalah pengembang memiliki kontrol penuh atas kode dan struktur aplikasi. Namun, pengembangan dengan PHP Native bisa menjadi proses yang rumit dan memakan waktu, terutama untuk aplikasi yang besar dan kompleks.
Laravel, di sisi lain, adalah sebuah framework PHP, yang berarti ia memberikan struktur dan set perpustakaan yang telah ditentukan untuk membantu pengembang membangun aplikasi web. Laravel menyediakan berbagai fitur bawaan seperti sistem routing, ORM (Object-Relational Mapping) untuk interaksi database, dan sistem template untuk membangun user interfaces. Menggunakan Laravel atau framework lainnya dapat meningkatkan efisiensi dan produktivitas pengembangan karena banyak aspek dari aplikasi sudah ditangani oleh framework. Kelemahannya, penggunaan resource (seperti memory dan CPU) biasanya lebih tinggi dibandingkan dengan PHP Native, dan pengembang mungkin perlu waktu untuk belajar cara kerja dan konvensi yang digunakan oleh framework.
Pilihan antara menggunakan PHP Native atau Laravel (atau framework PHP lainnya) akan sangat bergantung pada kebutuhan spesifik proyek, keterampilan tim pengembangan, dan preferensi pribadi.
Laravel dan CodeIgniter adalah dua framework populer yang digunakan untuk pengembangan aplikasi web menggunakan PHP. Keduanya memiliki kelebihan dan kekurangan masing-masing, dan pilihan antara keduanya biasanya bergantung pada kebutuhan dan preferensi spesifik proyek. Berikut beberapa perbedaan utama antara Laravel dan CodeIgniter:
Laravel menggunakan engine templating yang disebut Blade, yang menyediakan sejumlah fitur seperti inheritance dan sections, serta penanganan logika dalam template dengan lebih elegan. Sebaliknya, CodeIgniter tidak memiliki engine templating built-in, meskipun Anda bisa mengintegrasikan pustaka pihak ketiga seperti Smarty atau Twig jika Anda mau.
Laravel menggunakan Eloquent ORM, yang memungkinkan pengembang untuk bekerja dengan database menggunakan model objek. Eloquent mendukung relasi antar tabel dan operasi database yang lebih kompleks. CodeIgniter menggunakan sebuah class Query Builder yang lebih sederhana dan tidak mendukung fitur ORM secara penuh.
Laravel memiliki sistem routing yang lebih fleksibel dan intuitif dibandingkan dengan CodeIgniter. Laravel memungkinkan Anda mendefinisikan rute dalam file terpisah dan mendukung pembuatan RESTful routes. Di sisi lain, CodeIgniter mengikuti pendekatan konvensional dimana URL biasanya mencerminkan struktur direktori controller dan method.
Laravel memiliki basis pengguna yang lebih besar dan lebih aktif dibandingkan CodeIgniter, yang berarti Anda mungkin akan menemukan lebih banyak sumber daya belajar dan dukungan komunitas. Laravel juga memiliki ekosistem yang lebih kaya dengan alat tambahan seperti Laravel Forge dan Envoyer.
Laravel datang dengan sejumlah fitur tambahan yang tidak ada di CodeIgniter, seperti system authentication, task scheduling, dan sistem queue.
Namun, perlu diingat bahwa baik Laravel dan CodeIgniter adalah alat yang bagus untuk membangun aplikasi web, dan pilihan antara keduanya seharusnya didasarkan pada apa yang paling cocok untuk kebutuhan proyek Anda.
Daftar isi Belajar Laravel 7.x
belajar framework laravel, salah satu framework php terpopuler saat ini. Laravel akan membantu kamu membuat aplikasi dengan cepat melalui berbagai fitur yang dia punya. Di sini kita juga akan belajar cara menginstall aplikasi di laravel
mari mulai belajar laravel dengan mengenal sistem routing dan views pada laravel. Routing untuk membaca url yang user masukkan dan memberi respon yang sesuai dengan tampilan views
Bagaimana cara membuat route dinamis di laravel? seperti memberi respon yang tepat sesuai url yang diterima.
belajar bagaimana cara mengoper data controller ke view blade pada laravel. Kita bisa mengoper arraynya saja atau menggunakan metode compact
seringkali tampilan laravel yang kita punya mengulang beberapa tampilan yang ada di berbagai halamannya. Untungnya kita bisa meng-extend layout dengan templating blade ini
Agar menghindari nama file yang sama dan sulit untuk dibaca, kita bisa merapikan atua mengelompokkan beberapa file template blade ke dalam folder masing-masing.
Di template blade punya syntax sendiri agar tidak mengotori kode kita. Ada syntax synatx untuk melakukan logika biasa seperti loop atau mengulang data di blade
mengatur database laravel
menampilkan data dari database
nama table dan pagination
integrasi css bootstrap
tips yield di blade yang bisa bermanfaat untuk menyelipkan data data kecil ke layout dasar kamu
include di blade pada laravel berguna untuk memasukkan data yang sama ke banyak file, dengan punya satu sumber data, kamu akan mudah memodifikasinya
component di blade pada laravel bermanfaat untuk membuat satu grup tampilan yang sering muncul di banyak halaman atau muncul beberapa kali di satu halaman, keuntungannya kamu bisa mempunyai nilai dinamis
component pada laravel juga boleh punya nilai opsional, atau kadang parameter tersebut digunakan di suatu komponen kadang juga tidak
sebelum mulai menginstall proyek laravel, kamu bisa menggunakan command laravel new nama —auth untuk memberitahu kalau kamu ingin memulai proyek baru dengan sistem autentikasi
versi kedua, kalau kamu sudah terlanjur punya proyek laravel, kamu juga bisa membuat sistem authentikasi setelahnya.
biasanya kita meletakkan semua model di dalam folder Models untuk merapikan struktur kode kita. Di sini kita akan membuat folder model untuk User dan melihat apa saja yang harus diganti untuk mencegah errornya
mengintip isi dari halaman home saat melakukan autentikasi di laravel dan bagaiaman cara mengambil salah satu isi data user tersebut
apa yang terjadi jika user lupa dengan passwordnya pada autentikasi di laravel ini? kita bisa mengirim email reset password dengan bantuan service mailtrap
Eloquen relation membantu kita untuk bekerja di laravel saat punya lebih dari satu table yang saling berhubungan di laravel
untuk mulai belajar laravel relation, kita siapkan proyek laravel yang sudah punya sistem autentikasinya di laravel
Ketika setiap kolom punya hubungan dengan satu kolom di table lain, kita akan menggunakan laravel relasi one to one
Saat satu kolom dari table punya banyak hubungan dengan table lain, kita akan menggunakan laravel one to many
Untuk mmebuat proyek ini jadi seru, kita akan menyiapkan blog untuk aplikasi demonya
Integrasikan templating bootstrap dengan proyek laravel blog yang akan dibuat
Bagaimana cara menyimpan data di laravel dengan sistem relasi
Mari menampilkan daftar blog yang kita buat di laravel
Bagaimana meng-update halaman blog di laravel
Bagaiaman cara memproteksi blog atau record milik masing masing di laravel. Kita akan mencegah satu user mengubah data user lainnya
Middleware berguna untuk proteksi route metode tertentu di laravel
Saat banyak kolom dari table punya banyak hubungan dengan table lain, kita akan menggunakan laravel many to many
Melihat implementasi dari many to many di laravel
Memanfaat fungsi attach dan detach elqoent untuk menghubungan relasi many to many di laravel
Bagaimana cara untuk menguji apakah suatu data/record punya relasi atau tidak di laravel
mengenal ada apa saja pilihan sistem authentikasi di laravel, salah satunya adalah laravel fortify, sebagai headless ui backend untuk mempermudah sistem registrasi dan login
belajar bagaimana cara install laravel fortify untuk sismem authentikasi laravel kamu
belajar bagaimana cara sistem authentikasi fortify digabung dengan laravel ui yang sebagai defaultnya menggunakan css framework bootstrap
belajar bagaimana cara user di fortify harus verifikasi email terlebih dahulu, saat ingin mengakses endpoint tertentu dengan middleware verified
trailer mini instagram yang akan dibuat dengan laravel dan javascript
saat membuat proyek yang cukup besar, belajar organisir project dengan rapi untuk memudahkan kita ke depannya, kita akan menggunakan trello di sini
bagaimana dengan rencana struktur database dalam pembuatan aplikasi seperti instagram
meskipun sudah didefiniskan di awal, tetap saja kita akan menambahkan tugas di board trello setiap ada ide baru
belajar untuk setup project laravel baru
lakukan migrasi user sesuai dengan rancangan database mini instagram
membuat komponen form input di laravel untuk mencegah pengulangan kode
melakukan edit profile user di aplikasi laravel
melakukan update profile di aplikasi laravel
bagaimana cara upload avatar sebagai gambar profile user di aplikasi laravel
kita bisa membuat avatar cadangan dengan memanfaatkan ui avatar sebagai backup
waktu untuk menyiapkan fitur utama mini instagram ini, yaitu setup postingan foto
waktunya belajar posting foto di aplikasi mini instagram laravel ini
kita juga bisa mengupdate caption foto instagram saat ada perubahan
perlu memisahkan antara timeline mini instagram dan profil user
bagaimana cara membuat sistem follow pertemanan seperti sosial media umum di laravel
menyiapkan endpoint follow dan unfollow
cara memanggil follow via ajax dengan menggunakan fetch api javascript
waktunya memulai membuat timeline mini instagram di laravel, hanya menampilkan konten dari user yang kita follow
bagaimana cara membuat sistem likes dan dislike di aplikasi seperti sosial media di laravel
cara mentrigger like dengan double click di aplikasi instagram laravel
membuat sistem search pencari di aplikasi laravel
membuat sistem hashtag dan bisa disearch dari hashtag mini instagram laravel ini
waktunya istirahat sejenak dari proyek mini instagram. break dan review task
optimisasi yang perlu dilakukan agar menghemat query dan menghindari masalah N+1 menggunakan eager loading laravel
bagaimana cara membuat sistem komentar seperti instagram di laravel
DRY, membuat komponen untuk feed postingan foto mini instagram laravel dan script
bagaimana cara memposting komentar di aplikasi laravel
bagaimana cara menyimpan komentar di aplikasi laravel
bagaimana cara update komentar di aplikasi laravel
bagaimana cara hapus komentar di aplikasi laravel
manfaatkan controller resource dan routenya di laravel. mengubah route komentar resources
membuat sistem likes seperti sosial media di laravel yang bisa juga digunakan untuk komentar
menghitung jumlah likes, belajar menghitung jumlah relation di laravel
istirahat lagi, sekarang kita mulai merombak tampilan untuk membuat mini instagram lebih realistis
menghias tampilan home mini instagram dengan laravel dan bootstrap
menghias tampilan single post dengan laravel dan bootstrap
menghias tampilan profile dengan laravel dan bootstrap
menghias tampilan avatar di feed dengan laravel dan bootstrap
membuat sistem notifikasi di aplikasi laravel
membuat sistem notifikasi saat ada orang yang komentar di post laravel
melihat daftar notifikasi di laravel
membuat notifikasi untuk likes dari user di laravel
menghitung total notifikasi di laravel
menampilkan total following dan follower dari setiap user di halaman profil
kita perlu membatasi timeline apa saja yang ditampilkan
belajar cara membuat infinite scroll dengan vanilla javascript
belajar cara load item saat scroll sampai di bawah dengan vanilla javascript
mengenal API resources di laravel untuk memanipulasi model agar lebih fleksibel
membuat load more konten menjadi lebih lengkap dan sesuai timeline
ux menampilkan preview saat upload foto user dengan onchange javascript Daftar isi Deploy laravel melalui github
Kita akan melihat bagaimana cara melakukan deploy aplikasi pada contoh ini menggunakan framework laravel dan untuk hostingnya menggunakan digitalocean
Belajar bagaimana cara push dan pull project dari lokal ke server melalui SSH
Melihat bagaimana cara mencari kesalahan (debug) pada aplikasi laravel ini dan melakukan setting .env file, agar mudah memodifikasi dari lokal ke server tanpa selalu merubah settingan
Membuat public folder sebagai root atau tujuan pertama saat nama domain awal diakses
Masih ada satu error, yaitu selain root tidak ada halaman yang bisa kita akses, lihat caranya disini Daftar isi Membuat API Forum dengan Laravel
trailer membuat API dengan laravel. Kita akan membuat forum beserta sistem komentar dan authentikasinya di sini
Mengintip struktur database laravel api, mengatur model dan migrasi
Untuk sistem authentikasinya kita akan menggunakan JWT alias JSON Web Token. Untuk itu kita akan memakai package jwt auth tymondesign
persiapan route dan controller auth untuk laravel API yang kita ambil dari dokumentasi jwt tymondesign
Bagaimana cara melakukan register atau mendaftar user dengan laravel API, dengan menggunakan aplikasi Postman sebagai clientnya
Bagaimana cara validasi data di laravel API jika ada masalah dengan input dari user, kita perlu mengirim response json kembali dengan pesan yang spesifik
Waktunya menguji login dengan package jwt yang sudah kita siapkan sebelumnya, Belajar bagaimana cara mendapatkan token API di laravel
Bagaimana cara post atau mengirim data di forum laravel api menggunakan postman
Bagaimana cara menampilkan data dari database lewat laravel api menggunakan postman
Bagaimana cara update atau memodifikasi data Laravel api menggunakan postman
Bagaimana cara mengamankan link tertentu hanya dari pemilik konten tersebut atau istilahnya authorized user, hanya user tertentu yang punya akses kesana di laravel api
Bagaimana cara delete data Laravel api menggunakan postman
Waktunya refactor return method dengan menggunakan metode send digabungkan dengan exit untuk memastikan metode yang terpisah returnya tidak bermasalah di laravel
Bagaimana cara membuat komentar di laravel API. Kita juga akan melihat cara menampilkan datanya saat memanggil salah satu forum
Sekarang kita akan refactor check ownership method dan membuatnya di trait yang bisa digunakan dari mana saja
Bagaimana cara membuat sistem update dan delete komentar laravel API
Bagaimana cara refresh API token jwt di laravel dan bagaimana cara logout
Penting untuk membatasi jumlah konten API laravel kita. Bisa menggunakan pagination sederhana atau limit data API
Bagaimana cara filter kategori api tertentu
Bagaimana cara mengambil salah satu profil user API
Bagaimana cara melihat daftar aktivitas user, yaitu daftar forum dan komentar yang user tersebut sudah buat
Sudah sering dengar laravel? framework php terpopuler ini sedang ramai digunakan karena berbagai fiturnya yang memudahkan hidup developer PHP. Ayo coba belajar laravel sekarang
belajar framework laravel, salah satu framework php terpopuler saat ini. Laravel akan membantu kamu membuat aplikasi dengan cepat melalui berbagai fitur yang dia punya. Di sini kita juga akan belajar cara menginstall aplikasi di laravel
mari mulai belajar laravel dengan mengenal sistem routing dan views pada laravel. Routing untuk membaca url yang user masukkan dan memberi respon yang sesuai dengan tampilan views
Bagaimana cara membuat route dinamis di laravel? seperti memberi respon yang tepat sesuai url yang diterima.
belajar bagaimana cara mengoper data controller ke view blade pada laravel. Kita bisa mengoper arraynya saja atau menggunakan metode compact
seringkali tampilan laravel yang kita punya mengulang beberapa tampilan yang ada di berbagai halamannya. Untungnya kita bisa meng-extend layout dengan templating blade ini
Agar menghindari nama file yang sama dan sulit untuk dibaca, kita bisa merapikan atua mengelompokkan beberapa file template blade ke dalam folder masing-masing.
Di template blade punya syntax sendiri agar tidak mengotori kode kita. Ada syntax synatx untuk melakukan logika biasa seperti loop atau mengulang data di blade
mengatur database laravel
menampilkan data dari database
nama table dan pagination
integrasi css bootstrap
tips yield di blade yang bisa bermanfaat untuk menyelipkan data data kecil ke layout dasar kamu
include di blade pada laravel berguna untuk memasukkan data yang sama ke banyak file, dengan punya satu sumber data, kamu akan mudah memodifikasinya
component di blade pada laravel bermanfaat untuk membuat satu grup tampilan yang sering muncul di banyak halaman atau muncul beberapa kali di satu halaman, keuntungannya kamu bisa mempunyai nilai dinamis
component pada laravel juga boleh punya nilai opsional, atau kadang parameter tersebut digunakan di suatu komponen kadang juga tidak