Jangan bingung Java OO dengan PHP. Java adalah bahasa paradigma tunggal yang artinya hanya OO. PHP di sisi lain adalah bahasa multi-paradigma, Anda dapat melakukan pemrograman fungsional atau OO atau keduanya.
Sekarang tidak ada implementasi OO yang "buruk". OO Java bukan implementasi definitif yang harus atau harus diikuti oleh setiap bahasa lainnya. Ada beberapa konsep definitif, dan kedua bahasa sepenuhnya mengimplementasikannya dengan caranya sendiri (Java sejak awal, PHP sejak versi 5).
Jadi, untuk menjawab pertanyaan Anda: Apa yang CI lakukan dan apa yang Anda lakukan dengannya benar di dunia PHP. Array PHP adalah salah satu struktur yang paling fleksibel dan berguna dan sebenarnya adalah hal yang baik untuk menggunakan array pada objek ketika data Anda hanya informasi (jangan membawa logika dengannya). Kode OO sepenuhnya tidak sama dengan "hanya kode OO".
Jika Anda memulai dengan PHP, gunakan Java sebagai referensi untuk praktik OO yang baik tetapi jangan membatasi pemahaman Anda tentang PHP karena hal "Java melakukannya secara berbeda". Anda dapat benar-benar mengacaukan keduanya, paradigma tidak akan menyelamatkan Anda jika Anda tidak mendapatkan konsep.
Jika bagaimanapun Anda menemukan Java lebih sesuai dengan keinginan Anda (sebagai preferensi pribadi) jangan memeriksa Ruby untuk pengembangan web, mereka sedikit lebih dekat terkait.