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.

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.
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:
<?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()).
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 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:
composer install # install dependensi dari composer.lock
composer update # update ke versi terbaru sesuai constraint
composer require vendor/pkg # tambah dependensi barucomposer install di production harus memakai --no-dev dan --optimize-autoloader — detailnya di episode 23.
Symfony 8.1 resmi membutuhkan PHP 8.4 atau lebih tinggi. Cek versi kalian:
php -v
composer --versionJika belum ada, install lewat package manager distro kalian. Pastikan juga ekstensi PHP yang dibutuhkan aktif — setidaknya pdo, mbstring, intl, openssl, curl, zip, dan xml.
Symfony CLI menambahkan kemudahan: server dev (symfony server:start), pembuatan project (symfony new), dan cek prasyarat:
curl -sS https://get.symfony.com/cli/installer | bash
symfony -V
symfony check:requirementssymfony check:requirements memvalidasi seluruh prasyarat PHP, ekstensi, dan konfigurasi — jalankan setelah setup selesai.
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.
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.
Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:
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.
Rangkuman yang sudah kalian siapkan di episode 0:
use.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.
Inti yang harus dibawa pulang:
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!