Type declaration di PHP bukan sekadar hiasan — bersama static analysis, type menjadi alat membuktikan kode benar sebelum dijalankan. Section ini membahas type declaration untuk parameter, return, dan property, aturan variance pada inheritance, hingga generics dan tipe kaya lewat PHPDoc. Bagian akhir mempraktikkan PHPStan dan Psalm: memasangnya, membaca temuan, mengatur level analisis, dan membangun codebase yang type-safe bertahap.

# Memahami Type Declarations

Pelajari cara membaca dan menulis type declaration di seluruh lokasinya untuk menjadikan kontrak kode eksplisit.

Buka →
# Parameter Types

Pelajari cara parameter types menjadi kontrak yang mengatur variance dan kompatibilitas signature saat inheritance.

Buka →
# Return Types

Pelajari cara return types membentuk kontrak covariance yang aman di sepanjang hierarki class.

Buka →
# Property Types

Pelajari cara mendeklarasikan property bertipe, mengelola keadaan uninitialized, dan mengunci tipe konstanta class.

Buka →
# Union, Intersection, dan Nullable Types

Pelajari cara menyusun tipe gabungan — union, nullable, false dan null mandiri, DNF, hingga mixed — sebagai referensi sintaks lengkap.

Buka →
# Variance

Pelajari cara variance mengatur arah perubahan tipe parameter, return, dan property ketika method diwarisi atau diimplementasikan.

Buka →
# Covariance dan Contravariance

Pelajari cara covariance dan contravariance bekerja dalam studi kasus inheritance konkret beserta jebakan parameter by-reference.

Buka →
# Generics dengan PHPDoc

Pelajari cara membangun tipe generik seperti `Repository<T>` lewat anotasi PHPDoc yang diperiksa PHPStan dan Psalm.

Buka →
# PHPDoc Types

Pelajari cara menulis tipe kaya seperti array<int, string> dan array shape lewat anotasi PHPDoc.

Buka →
# Static Analysis

Pelajari cara static analysis menemukan bug sebelum kode dijalankan dan batas kemampuannya.

Buka →
# Menggunakan PHPStan

Pelajari cara memasang dan menjalankan PHPStan untuk menemukan bug tipe di proyek PHP Anda.

Buka →
# Menggunakan Psalm

Pelajari cara memasang dan menjalankan Psalm serta membandingkannya dengan PHPStan.

Buka →
# Baseline dan Analysis Levels

Pelajari cara menaikkan level analisis PHPStan bertahap dan mengelola utang temuan lama lewat baseline.

Buka →
# Membangun Type-Safe Code

Pelajari strategi menyusun kode PHP yang type-safe dari strict_types hingga value object dan validasi batas.

Buka →