Belajar Symfony - Pre-Requisites Skill & Setup Environment
Episode 0 of 27

Belajar Symfony - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh Symfony, kalian perlu menguasai dasar PHP 8.4+ dengan OOP & namespace, Composer, dan SQL/database. Di episode ini kalian juga menyiapkan PHP 8.4+, Composer 2.x, Symfony CLI, database, dan editor, lalu memverifikasi seluruh environment siap dipakai sepanjang series.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Selamat datang di series Belajar Symfony! Series ini akan membawa kalian menguasai Symfony — framework PHP enterprise-grade berbasis komponen reusable (60+ komponen) — untuk membangun aplikasi web dan API yang terstruktur, scalable, dan production-ready. Total ada 27 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness.

Sebelum menjalankan composer create-project symfony/skeleton, ada skill dasar dan perangkat yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena Symfony adalah framework yang modular: ia membangun seluruh aplikasi dari komponen kecil — Routing, HttpKernel, EventDispatcher, Dependency Injection — yang saling terhubung lewat container dan konfigurasi. Tanpa memahami OOP, namespace, dan bagaimana Composer autoload bekerja, kalian akan tersesat saat membaca kode framework atau mendiagnosis error di stack trace yang dalam.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan PHP, Composer, Symfony CLI, database, dan editor, lalu memverifikasi environment untuk pertama kali. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.

Skill Dasar yang Wajib Dimiliki

PHP 8.4+: Syntax, OOP, dan Namespace

Symfony 8.1 berjalan di atas PHP 8.4 ke atas. Kalian wajib nyaman dengan syntax dasar (array, string, control flow), OOP (class, inheritance, interface, trait, static method), dan namespace — karena seluruh kode kalian hidup di namespace App\... dan diautoload via Composer:

Namespace dan use statement
<?php
 
namespace App\Entity;
 
use Doctrine\ORM\Mapping as ORM;
 
#[ORM\Entity]
class Post
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column]
    private ?int $id = null;
}

Perhatikan use Doctrine\ORM\Mapping as ORM dan attribute #[ORM\Entity]: inilah cara namespace menghubungkan class. Kalian juga wajib paham bahwa -> adalah cara memanggil method/property di PHP OOP — ini akan kalian lihat di hampir setiap baris kode Symfony ($request->getContent(), $user->getRoles()).

Dasar SQL dan Database Relasional

Doctrine ORM memang menyembunyikan SQL, tapi kalian wajib paham relasi tabel, primary/foreign key, dan dasar SQL seperti SELECT, INSERT, UPDATE, DELETE. Doctrine di episode 6 akan menggenerasi SQL dari entity, tetapi kalian wajib tahu query apa yang seharusnya dihasilkan — karena saat query berjalan lambat (N+1, episode 21), kalian harus bisa menilainya.

Untuk praktik, siapkan salah satu dari SQLite (tanpa server, paling mudah untuk lab), PostgreSQL, atau MySQL.

Composer sebagai Dependency Manager

Composer adalah kunci ekosistem PHP — analog dengan npm untuk Node.js. Symfony sendiri diinstall melalui Composer, dan seluruh dependensi dikelola di composer.json dan composer.lock. Kalian wajib paham tiga perintah inti:

Perintah inti Composer
composer install            # install dependensi dari composer.lock
composer update             # update ke versi terbaru sesuai constraint
composer require vendor/pkg # tambah dependensi baru

composer install di production harus memakai --no-dev dan --optimize-autoloader — detailnya di episode 23.

Perangkat Software yang Disiapkan

PHP 8.4+

Symfony 8.1 resmi membutuhkan PHP 8.4 atau lebih tinggi. Cek versi kalian:

Cek versi PHP dan Composer
php -v
composer --version

Jika belum ada, install lewat package manager distro kalian. Pastikan juga ekstensi PHP yang dibutuhkan aktif — setidaknya pdo, mbstring, intl, openssl, curl, zip, dan xml.

Composer 2.x dan Symfony CLI

Symfony CLI menambahkan kemudahan: server dev (symfony server:start), pembuatan project (symfony new), dan cek prasyarat:

Install dan cek Symfony CLI
curl -sS https://get.symfony.com/cli/installer | bash
symfony -V
symfony check:requirements

symfony check:requirements memvalidasi seluruh prasyarat PHP, ekstensi, dan konfigurasi — jalankan setelah setup selesai.

Database

Untuk episode-episode awal, SQLite sudah cukup — Symfony otomatis memakainya saat DATABASE_URL di .env diatur ke sqlite:///%kernel.project_dir%/var/data.db. PostgreSQL/MySQL baru benar-benar dibutuhkan saat kita membahas scaling di episode 24. Kalian bisa menyiapkannya bertahap.

Editor: VS Code + PHP Intelephense

Symfony sangat diuntungkan editor dengan IntelliSense PHP yang kuat. VS Code dengan ekstensi PHP Intelephense adalah kombinasi paling umum, ditambah ekstensi Twig Language untuk highlighting template. Ini bukan sekadar kenyamanan — navigasi "Go to Definition" ke kode framework sangat membantu saat debugging.

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:

Verifikasi environment
php -v
composer --version
symfony -V
symfony check:requirements
php -m | grep -E "pdo|mbstring|intl|openssl|curl|zip|xml"

php -v harus menampilkan versi 8.4 atau lebih tinggi, composer --version menampilkan Composer 2.x, dan ekstensi-ekstensi di atas harus muncul di daftar module. Jika symfony check:requirements melaporkan mandatory requirements yang gagal, selesaikan dulu — Symfony menolak berjalan di environment yang tidak lolos.

Tip

Jika kalian sudah punya stack LAMP/Laragon/XAMPP, selama PHP-nya 8.4+ dan Composer-nya jalan, environment kalian tetap valid. Versi PHP yang tepat adalah satu-satunya syarat yang tidak bisa ditawar untuk Symfony 8.1.

Ringkasan Prasyarat

Rangkuman yang sudah kalian siapkan di episode 0:

  • Skill PHP: syntax dasar, OOP (class, interface, trait), namespace, dan use.
  • Skill database: relasi tabel, foreign key, dan SQL dasar.
  • Runtime: PHP 8.4+ + ekstensi wajib, Composer 2.x, dan Symfony CLI.
  • Database: SQLite cukup untuk awal; PostgreSQL/MySQL menyusul.
  • Editor: VS Code + Intelephense (atau editor PHP lain yang kalian nyaman).
  • Verifikasi: php -v, composer --version, symfony check:requirements semua lolos.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Perjalanan 26 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.

Penutup

Inti yang harus dibawa pulang:

  • Symfony memakai OOP, namespace, attribute, dan Composer sebagai fondasi — kuasai keempatnya.
  • Symfony 8.1 butuh PHP 8.4+; versi di bawah itu tidak akan jalan.
  • SQLite cukup untuk episode awal; PostgreSQL/MySQL menyusul saat scaling.
  • Verifikasi environment dengan symfony check:requirements sebelum praktik.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa kalian membutuhkan Symfony — dari lahirnya di SensioLabs oleh Fabien Potencier pada 2005, model komponen reusable yang dipakai Laravel & Drupal, hingga rilis Symfony 8.1 (29 Mei 2026) dan 7.4 LTS. Pastikan environment kalian sudah siap, karena perjalanan Belajar Symfony baru saja dimulai!

Belajar Symfony - Pre-Requisites Skill & Setup Environment | Belajar Symfony