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.
Pelajari cara membaca dan menulis type declaration di seluruh lokasinya untuk menjadikan kontrak kode eksplisit.
Buka → # Parameter TypesPelajari cara parameter types menjadi kontrak yang mengatur variance dan kompatibilitas signature saat inheritance.
Buka → # Return TypesPelajari cara return types membentuk kontrak covariance yang aman di sepanjang hierarki class.
Buka → # Property TypesPelajari cara mendeklarasikan property bertipe, mengelola keadaan uninitialized, dan mengunci tipe konstanta class.
Buka → # Union, Intersection, dan Nullable TypesPelajari cara menyusun tipe gabungan — union, nullable, false dan null mandiri, DNF, hingga mixed — sebagai referensi sintaks lengkap.
Buka → # VariancePelajari cara variance mengatur arah perubahan tipe parameter, return, dan property ketika method diwarisi atau diimplementasikan.
Buka → # Covariance dan ContravariancePelajari cara covariance dan contravariance bekerja dalam studi kasus inheritance konkret beserta jebakan parameter by-reference.
Buka → # Generics dengan PHPDocPelajari cara membangun tipe generik seperti `Repository<T>` lewat anotasi PHPDoc yang diperiksa PHPStan dan Psalm.
Buka → # PHPDoc TypesPelajari cara menulis tipe kaya seperti array<int, string> dan array shape lewat anotasi PHPDoc.
Buka → # Static AnalysisPelajari cara static analysis menemukan bug sebelum kode dijalankan dan batas kemampuannya.
Buka → # Menggunakan PHPStanPelajari cara memasang dan menjalankan PHPStan untuk menemukan bug tipe di proyek PHP Anda.
Buka → # Menggunakan PsalmPelajari cara memasang dan menjalankan Psalm serta membandingkannya dengan PHPStan.
Buka → # Baseline dan Analysis LevelsPelajari cara menaikkan level analisis PHPStan bertahap dan mengelola utang temuan lama lewat baseline.
Buka → # Membangun Type-Safe CodePelajari strategi menyusun kode PHP yang type-safe dari strict_types hingga value object dan validasi batas.
Buka →