Laravel

Mudahnya Membuat Fitur Register Dan Login Pada Laravel 5.4 Bagian 2

Mudahnya Membuat Fitur Register Dan Login Pada Laravel 5.4 Bagian 2

4188 Dilihat

Melanjutkan pdkt sebelumnya tentang bagaimana mudahnya membuat fitur register dan login pada laravel 5.4, kali ini kita akan mencoba membuat fitur tersebut dengan sedikit sentuhan yang lebih menarik dari sebelumnya.

Keajaiban Make Auth

Laravel hadir dengan artisan command yang sangat menawan, salah satunya adalah artisan command yang dapat membuat fitur user authentication dan password reset untuk kita. Juga akan membuat route sekaligus views dalam sekali sentuhan. Controllers telah ada pada tempatnya. Sekali kita menjalankan perintah tersebut maka sistem otentikasi yang kita inginkan telah jadi. Tapi kita akan menelusuri semuanya secara bertahap sampai mengerti proses dan bagaimana cara kerjanya. Ketikkan perintah dibawah ini pada command line :

php artisan make:auth

Anda akan mendapatkan hasil seperti berikut

Secara otomatis laravel akan membuat banyak file view, membuat route ke controller, dan akan kita bahas satu persatu beberapa saat lagi. Tapi sekarang jika anda mengunjungi localhost/daengweb.id/public atau localhost:8000 maka akan tampak seperti berikut :

Jadi sekarang anda dapat menuju ke halaman register dan membuat user. Pada halaman register akan terlihat seperti ini

Silahkan lakukan pendaftaran pada halaman di atas, setelah itu anda akan melihat username yang anda daftarkan akan login secara otomatis.

Anda dapat melakukan logout pada dropdown list yang terletak di pojok kanan atas, kemudian gunakan login link yang akan mengarahkan anda pada login page untuk melakukan login kembali sehingga anda dapat melihat apakah itu bekerja atau tidak.

Anda dapat menemukan semua file blade yang telah di generate pada folder auth yang berada di dalam folder resources/views :

Seperti yang anda lihat, tidak hanya views register dan login tapi kita juga menemukan views untuk melakukan reset password yang terletak di dalam folder passwords. Bersamaan dengan itu, laravel juga membuat folder layouts yang didalamnya terdapat file app.blade.php .

Mungkin membutuhkan waktu tapi anda harus meluangkannya untuk memahami bagaimana sistem otentikasi di atas bekerja. Penting bagi anda untuk mengetahuinya karena akan membantu anda kedepannya dalam memodifikasinya. Seperti yang akan kita lakukan, saat akan menambahkan socialite dan memodifikasi table user, tapi hal tersebut belum akan kita kerjakan untuk saat ini.

Sampai disini, sebagian dari kita mungkin akan mencoba mengingat-ingat dan menghafalkannya. Tapi sebaiknya anda tidak perlu melakukannya, cukup memahami konsepnya dan bagaimana cara dia bekerja.

Selanjutnya, mari kita mulai dengan file route baru yang telah dibuat. Jika anda membuka file routes, yang terletak di routes/web.php , anda akan menemukan dua baris tambahan seperti berikut :

Auth::routes();
Route::get('/home', '[email protected]');

Jadi Ketika anda sudah login, jika anda mengunjungi url berikut :

localhost/daengweb.id/public/home atau localhost:8000/home

Maka anda akan berada disini :

Dan jika anda mencoba mengakses uri home di atas dalam kondisi sudah logout, maka anda akan di arahkan ke form login

Saat ini, secara default app akan mengarahkan anda ke ‘/home’ ketika dalam kondisi login. Itu karena terdapat sebuah properti bernama redirectTo pada LoginController yang di set ke ‘/home’. Kita akan melihat ini, tapi sebelum itu mari kita lihat bagaimana auth dan password routes bekerja.

Pada file route web.php , kita akan menemukan sebaris code dibawah ini :

Auth::routes();

routes method adalah bagian dari Auth facade, yang memanggil sebuah instance dari Router class method :

public static function routes()
{
    static::$app->make('router')->auth();
}

Ini akan memberitahu app untuk membuat sebuah instance dari router class auth method. Jika kita melihat lebih jauh kedalam framework, kita dapat menemukan Router class yang memanggil auth method dan berlokasi di dalam folder vendor :

Tepatnya dengan path : vendor/laravel/framework/src/Illuminate/Routing/Router.php . Dan di dalam file tersebut, anda dapat menemukan auth method, yang memiliki auth routes:

public function auth()
{
   // Authentication Routes...
   $this->get('login', 'Auth\[email protected]')->name('login');
   $this->post('login', 'Auth\[email protected]');
   $this->post('logout', 'Auth\[email protected]')->name('logout');

   // Registration Routes...
   $this->get('register', 'Auth\[email protected]')->name('register');
   $this->post('register', 'Auth\[email protected]');

  // Password Reset Routes...
  $this->get('password/reset', 'Auth\[email protected]')->name('password.request');
  $this->post('password/email', 'Auth\[email protected]')->name('password.email');
  $this->get('password/reset/{token}', 'Auth\[email protected]')->name('password.reset');
  $this->post('password/reset', 'Auth\[email protected]');
}

Beberapa diantaranya, terdapat route yang menggunakan method name untuk memberikan nama pada route:

$this->get('login', 'Auth\[email protected]')->name('login');

Penamaan route sangat berguna saat kita ingin memanggil atau menggunakan route method pada bagian code yang lain, biasanya digunakan pada controller. Tapi untuk contoh penggunaannya tidak akan kita bahas pada kesempatan kali ini, saya hanya sekedar menunjukkannya saja.

Pada bagian yang lain, jika melihat route login misalnya, anda bisa melihat bahwa kita membutuhkan Auth\ sebelum nama controller, dan itu disebabkan kita memiliki folder Auth di dalam folder controllers. Jadi ketika anda membuat sebuah folder di dalam folder controllers, maka penulisan routenya akan menjadi seperti berikut :

NamaFolder\[email protected]

Dan sedikit catatan, kita jangan melakukan perubahan pada file vendor karena jika kita melakukannya, setiap kita akan menjalan composer update, maka file tersebut akan ditimpa. Juga berarti jika anda ingin membangun sistem auth anda sendiri atau mengubah routing, anda seharusnya tidak menempatkan routes disini. Akan tetapi letakkan perubahan route anda pada file web.php yang terletak didalam folder routes.

Tampaknya cukup melebar pembahasan kita, padahal point yang ingin saya sampaikan adalah penggunakan php artisan make:auth tapi point lebih yang ingin saya tekankan adalah bukan hanya dapat menggunakan fungsi dari sebuah framework dan dapat berjalan dengan baik, tapi juga sebaiknay kita mempelajari cara kerjanya agar suatu saat nnti saat kita membutuhkan custom function kita dapat membuatnya sendiri. Jadi cukup sampai disini, semoga bermanfaat.

Backend Developer iTechShark, salah satu perusahaan asal Amerika. Senang dengan teknologi baru. Laravel addict yang tidak fanatik. Merekam jejak dengan menulis

Membuat Fitur Bulk Import Laravel Excel 3.1 Laravel

Membuat Fitur Bulk Import Laravel Excel...

Dalam sebuah aplikasi dengan data inputan yang banyak, fitur bulk import merupakan bagian yang penting untuk mempercepat proses peng-inputan tersebut tanpa harus bolak-balik ke form input-an yang tela...

Upload & Resize Image di Laravel 5.7 Laravel

Upload & Resize Image di Laravel 5.7

Resizing image menjadi penting agar supaya ketika ditampilkan pada halaman web, dimensi yang di-develiery adalah dimensi originalnya tanpa perlu lagi diatur ukurannya menggunakan property width dan he...

Membuat Fitur Bulk Import Data CSV Laravel 5.6 Laravel

Membuat Fitur Bulk Import Data CSV Larav...

Mengelola data dalam jumlah banyak dapat dipecahkan dengan bulk import dan dikerjakan dari sisi server, maka pada artikel ini akan membahasa bagiamana cara membuat fitur bulk import dari file csv untu...

Komentar