Langkah - langkah membuat program kecil dengan Laravel :
1. Install Laravel
untuk menginstall Laravel 8 ada 2 cara yaitu :
- Dengan Laravel Installer , ketik pada command :
laravel new blog
- Dengan composer.
composer create-project --prefer-dist laravel/laravel blog
2. Konfigurasi Database
Aktifkan web server seperti menggunakan XAMPP , kemudian buat database MySQL menggunakan phpmyadmin dengan nama dbblog, Setelah itu, buka file .env yang berada di direktori blog/.env. ganti nama database, root, password lainnya yang sesuai dengan web server digunakan.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dbblog
DB_USERNAME=root
DB_PASSWORD=
setelah itu simpan perubahan tersebut/
catatan : bisa membaca artikel tentang XAMPP dan Phpmyadmin
Membuat Database di XAMPP cara membuat database dengan phpmyadmin
3. Migration Database dan Model
Buat table posts. ketik : php artisan make:model Post --migration
Setelah itu buka folder migrations di direktori blog/database/migrations. Lalu ubah file yang ada di folder migration tersebut :
use Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;class CreatePostsTable extends Migration {/*** Run the migrations.** @return void*/public function up() {Schema::create('posts', function (Blueprint $table) {$table->id();$table->string('title');$table->text('content');$table->timestamps();});}/*** Reverse the migrations.** @return void*/public function down() {Schema::dropIfExists('posts');}}
Setelah itu jalankan perintah : php artisan migrate sintak tersebut menampilkan kolom-kolom yang telah dibuat pada database.
4. Resource Controller
Kemudian buat controller. dengan ketik sintak dibawah untuk membuat resource controller:
php artisan make:controller PostController --resource
Setelah itu, akan terbentuk file baru dengan nama PostController.php di dalam direktori app/Http/Controllers. Pada file tersebut memiliki beberapa fungsi :
- index(),
- create(),
- store(),
- show(),
- edit(), dan
- destroy()
Kemudian modifikasi isi PostController tersebut menjadi seperti dibawah :
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Post;
class PostController extends Controller
{
public function index()
{
$posts = Post::latest()->paginate(5);
return view('posts.index',compact('posts'))
->with('i', (request()->input('page', 1) - 1) * 5);
}
public function create()
{
return view('posts.create');
}
public function store(Request $request)
{
$request->validate([
'title' => 'required',
'content' => 'required',
]);
Post::create($request->all());
return redirect()->route('posts.index')
->with('success','Post created successfully.');
}
public function show(Post $post)
{
return view('posts.show',compact('post'));
}
public function edit(Post $post)
{
return view('posts.edit',compact('post'));
}
public function update(Request $request, Post $post)
{
$request->validate([
'title' => 'required',
'content' => 'required',
]);
$post->update($request->all());
return redirect()->route('posts.index')
->with('success','Post updated successfully');
}
public function destroy(Post $post)
{
$post->delete();
return redirect()->route('posts.index')
->with('success','Post deleted successfully');
}
}
kemudian simpan perubahan tersebut/
5. Modifikasi Model
Setelah itu modifikasi model seperti dibawah ini :
namespace App\Models;use Illuminate\Database\Eloquent\Factories\HasFactory;use Illuminate\Database\Eloquent\Model;class Post extends Model {use HasFactory;protected $fillable = ['title', 'content'];}
6. Menambahkan Route
Kemudian tambahkan route untuk mengakses resource controller Post. Buka routes/web.php lalu tambahkan:
use App\Http\Controllers\PostController;Route::resource('posts', PostController::class);
Setelah itu simpan
Catatan :
Silahkan baca lanjutannya pada tahap selanjutnya di artikel Simple Blog dengan Laravel - Part II