Laravel Basic (Pengenalan Laravel & Struktur Project laravel)

The PHP Framework
for Web Artisan

source: https://laravel.com/

Laravel adalah sebuah alat atau framework (kerangka kerja) untuk membantu pembangunan situs Web atau Aplikasi Online dengan lebih mudah dan cepat, jika kita memperhatikan lebih lagi terkait slogannya “The PHP Framework” kita bisa tau bahwa laravel ini dibuat dengan bahasa pemrograman PHP, dan bagian “for Web Artisan” artisan diambil dari kata seniman yang mana laravel ini ditujukan untuk para seniman web.

Seperti yang kita tahu dari slogan sebelumnya laravel ini dibuat dengan bahsa pemrograman PHP, jadi jika sebelumnya kalian familiar dengan bahasa pemrograman PHP maka itu akan sangat membantu yang dimana di laravel nya itu sendiri beberapa masih menggunakan sintaks PHP.

Laravel juga gratis dan terbuka untuk umum jadi sangat cocok untuk pemula yang ingin mempelajari framework Web, karena untuk belajar kita bisa mendapatkan laravel ini secara cuma – cuma.

Mengapa Belajar Laravel?

Alasannya tentunya laravel ini sangat bermanfaat untuk kita pelajari khususnya jika kita tertarik mengenai pengembangan web, berikut poin – poinnya saya sertakan di bawah ini:

  • Popularitas
    • Framework  laravel ini cukup populer di kalangan pengembang Web yang mana tentunya Komunitasnya sendiri sangat besar bahkan hingga saat ini.
  • Banyaknya permintaan
    • banyak perusahaan / company besar yang masih menggunakan teknologi laravel ini.
  • Produktivitas Tinggi
    • Laravel menyediakan fitur bawaan seperti sistem routing, manajemen database, autentifikasi dan masih banyak lagi.

dan masih banyak lagi alasan yang menguntungkan untuk mempelajari framework laravel ini

Dalam blog ini, kita akan membahas hal – hal yang sangat dasar terkait framework laravel ini berikut merupakan poin – poin bahasan kita kali ini:

  • instalasi yang dibutuhkan
  • pembuatan project
  • konfigurasi
  • struktur direktori project

Instalasi

Beberapa software yang kita butuhkan sebelum memulai project laravel kita diantaranya :

PHP

Composer 

DB Mysql

Code Editor (VS Code) 

Instalasi PHP

Jika kalian menggunakan OS (Sistem Operasi) keluarga Unix maka bisa mengikuti saya untuk instalasi php karena saya sendiri di sini menggunakan Linux Ubuntu.

sudo apt install php

kalian bisa menambahkan versinya jika ingin memakai versi tertentu contoh (php8.0), php ini kita butuhkan untuk menginstall composer

untuk instalasi system window akan saya sertakan link dari situs web resminya lalu klik for window: https://www.php.net/downloads.php

Instalasi Composer

Jika kalian sudah mempunyai PHP-nya maka bisa langsung saja bisa langsung mengcopykan syntax ini jika menggunakan OS Keluarga Unix

php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”

php -r “if (hash_file(‘sha384’, ‘composer-setup.php’) === ‘dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”

php composer-setup.php

php -r “unlink(‘composer-setup.php’);”

Setelah selesai mendownload maka kalian akan mendapat file composer.phar maka bisa kalian pindahkan saja ke directory ini /usr/local/bin/composer bisa kalian copy saja syntax di bawah ini

sudo mv composer.phar /usr/local/bin/composer

setelah itu masukan konfigurasi path di bawah ini pada file bashrc

export PATH=”$PATH:/home/aris/.config/composer/vendor/bin”

selesai/.

untuk instalasi pada OS Window saya akan sertakan link dari situs resminya: https://getcomposer.org/doc/00-intro.md#installation-windows

Instalasi Mysql

Untuk menginstal Mysql bisa diikuti untuk OS Ubuntu dengan syntax di bawah in

sudo apt install mysql-server

lalu kalian bisa mengoperasikan mysql ini dengan command dibawah ini:
sudo service mysql status (untuk melihat status mysql)

sudo service mysql start (menjalankan mysql)

sudo service mysql restart (mematikan dan menghidupkan ulang mysql)

sudo service mysql stop (mematikan mysql)

untuk instalasi pada OS Window saya akan sertakan link dari situs resminya, kalian bisa langsung mengunduh installernya dan mengikuti instruksi konfigurasinya: https://dev.mysql.com/downloads/installer/

Instalasi Code Editor (VS Code)

Untuk instalasi code editor disini saya akan menggunakan vs code, karena vs code itu sendiri gratis dan memiliki banyak fitur yang mendukung pengkodean kita untuk laravel ini salah satunya fitur extension marketplace yang mana sangat memudahkan kita jika kita membutuhkan extension tertentu untuk laravel ini.

berikut link vs code dari web resminya: https://code.visualstudio.com/download

vs code tersedia untuk beberapa OS saya di sini akan menggunakan versi OS linux ubuntu

Pembuatan Project Laravel

Nah kalian bisa langsung saja buat project dengan composer yang sebelumnya pernah kalian install dan pastikan kalian terhubung ke internet, contohnya seperti syntax dibawah ini

composer create-project laravel/laravel (nama project yang kalian inginkan) disini saya akan menamai projectnya dengan nama laravel-basic, contoh :

composer create-project laravel/laravel laravel-basic

proses installasi ini memang cukup memakan waktu, alasannya composer menginstal laravel secara online, alternatif lainnya jika kalian ingin menginstall secara local kalian memerlukan konfigurasi untuk laravel/installernya berikut saya sertakan syntaxnya di bawah ini:

composer global require laravel/installer

laravel new laravel-basic

setelah project terbuat kalian bisa langsung masuk ke direktori projectnya

cd laravel-basic

lalu bisa langsung jalankan server dari perintah laravel artisan:

php artisan serve

lalu akan muncul bahwa server berjalan pada alamat berapa lalu bisa kalian klik dan otomatis akan langsung membukanya di browser default kalian dan harusnya langsung masuk ke tampilan awal laravel

Configuration file env

Di file env ini kita dapat mengkonfigurasi berbagai macam hal mulai dari nama, bahasa, timezone, database dan masih banyak lagi di sini saya tidak akan mengubah settingan defaultnya terlalu banyak hanya konfigurasi nama laravel serta konfigurasi database
APP_NAME=laravel-basic

APP_ENV=local

APP_KEY=base64:FFQPfp5Jo2n3lVQkuNDUAZArLYB/y6TjEyQVwBC37ow=

APP_DEBUG=true

APP TIMEZONE=UTC

APP_URL=http://localhost

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=laravel

DB_USERNAME=root

DB_PASSWORD=

pastikan untuk konfigurasi data base seusia dengan mysql kalian di sini username db mysql saya root dengan password kosong, setelah itu kalian bisa kembali ke halam browser yang telah kalian buka tadi, mungkin terdapat error karena tadi settingan default pembuatan project menggunakan composer otomatis merupakan db sqlite, berikut cara mengatasinya dengan mentikan sintaks dibawah ini di direktori root kalian:

php artisan migrate

error tadi disebabkan menghilangnya table default yang disediakan oleh blade, karena sebelumnya di integrasikan dengan db sqlite sekarang ketika kita melakukan perintah migrate maka akan memastikan struktur basis data selaras dengan definisi yang ada di file migrasi.

Struktur Direktori Laravel

Struktur default direktori laravel dimaksudkan untuk memberikan titik awal yang baik untuk aplikasi dengan skala besar maupun kecil, dan defaultnya struktur ini juga memakai konsep MVC ( Model View Controller) meskipun begitu kita bebas mengatur struktur aplikasi sesuai dengan keinginan kita dan bahkan mungkin jika skalanya diperbesar tidak akan menggunakan konsep MVC lagi, karena laravel hampir tidak menerapkan batasan – batasan dimana class tertentu seharusnya berada selama composer dapat memuat class secara otomatis.

Saya disini tidak akan menjelaskan terkait semua direktori laravel namun saya akan menjelaskan terkait direktori yang umum digunakan 

Root Direktori

Root direktori adalah sebuah direktori utama yang mengandung semua file dan folder yang diperlukan untuk menjalankan aplikasi, root direktori adalah tempat dimana kita menginstall aplikasi karena sebelumnya saya membuat project dengan nama laravel-app maka itulah nama root direktori saya, berikut adalah penjelasan tentang isi direktori root dan fungsinya masing masing

app direktori

merupakan salh satu direktori utama yang berisi code inti kita, di sini kita bisa melihat subdirektori dan file yang akan mengatur logika aplikasi seperti controller, model, middleware.

config direktori

Berisi semua file konfigurasi aplikasi laravel, setiap file mengatur untuk konfigurasi bagian tertentu

database Direktori

mengandung database migration kita, factories, dan juga seeder

public Direktori

berisi file yang dapat diakses secara public seperti index.php, file Java Script, CSS, gambar dan lainnya.

resources Direktori

Berisi file view (blade templates), aset mentah seperti CSS dan JavaScript dll

storage Direktori

Berisi file yang dihasilkan aplikasi seperti log, cache, dan file yang diunggah. Direktori ini memiliki subdirektori seperti app, framework, dan logs.

tests Direktori

Berisi file pengujian aplikasi Anda. Laravel menggunakan PHPUnit untuk pengujian otomatis, dan direktori ini diatur untuk menyimpan semua file pengujian.

vendor Direktori

Berisi semua dependensi pihak ketiga yang diinstal melalui Composer. Direktori ini tidak diubah secara manual karena dikelola oleh Composer.

artisan Direktori

Script CLI utama untuk Laravel. Perintah php artisan digunakan untuk berbagai tugas, seperti menjalankan migrasi, membuat kontroler, menjalankan server pengembangan, dll.

composer.json File

File konfigurasi untuk Composer, yang mencantumkan semua dependensi PHP dan informasi meta tentang proyek.

package.json File

File konfigurasi untuk npm (Node Package Manager), mencantumkan semua dependensi frontend dan skrip npm.

.env File

File konfigurasi lingkungan yang menyimpan informasi sensitif seperti kredensial database, kunci aplikasi, dan konfigurasi lainnya yang berubah berdasarkan lingkungan (local, production, dll).

.gitignore

File ini menentukan file dan direktori apa yang harus diabaikan oleh Git. Biasanya mencakup file sementara, file cache, dan kredensial sensitif.

Penutup

Sebelumnya terimakasih karena telah mengikuti / membaca dokumentasi dari blog saya dan untuk kedepannya kemungkinan besar / Insyaallah blog ini akan saya update terkait materinya bahkan termasuk penanganan error yang mungkin muncul di beberapa Sistem operasi / laptop yang memang mungkin berbeda.

Saya mohon maaf apabila sebelumnya terdapat kesalahan penyampaian dan pengetikan dan saya juga kedepannya akan terus berusaha meningkatkan diri lagi untuk supaya bisa menyampaikan materi lebih baik lagi.

Sekali lagi saya ucapkan Terimakasih

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya

Penulis : Dicky Aris Munandar